Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Несколько действий одновременно

23K
21 января 2012 года
1_2
34 / / 09.01.2012
У меня вопрос такой. Программа выполняет код последовательно... а как сделать так, чтобы одна программа выполняла несколько действий одновременно? Например, выполняет некоторый цикл, и одновременно "общается" с пользователем.
277
21 января 2012 года
arrjj
1.7K / / 26.01.2011
тыц cцылку
50K
25 января 2012 года
Roman_pilot
16 / / 10.02.2010
если под винду используй функции _beginthreadex, вот ссылка на http://msdn.microsoft.com/en-us/library/kdzttdcb%28v=vs.80%29.aspx
елси под линукс, то надо использовать функцию создания новых процессов fork(), описание в инете:).
277
25 января 2012 года
arrjj
1.7K / / 26.01.2011
Цитата: Roman_pilot

елси под линукс, то надо использовать функцию создания новых процессов fork(), описание в инете:).



:facepalm:

POSIX Threads

Да и fork() всё чаще заменяют на daemon().

50K
25 января 2012 года
Roman_pilot
16 / / 10.02.2010
А в чем преимущества POSIX Threads над _beginthreadex?
277
25 января 2012 года
arrjj
1.7K / / 26.01.2011
Ни в чем это для разных ОС.

POSIX - *nix.
_beginthreadex - win.
240
25 января 2012 года
aks
2.5K / / 14.07.2006
Цитата: arrjj

Да и fork() всё чаще заменяют на daemon().


Не чаще, а только если нужно создать отвязанного от текущего процесса демона. А форк - единственный способ породить новый процесс. Поэтому он используется везде где нужно порождать процессы. )
И конечно же да - процессы не замены потокам.

50K
25 января 2012 года
Roman_pilot
16 / / 10.02.2010
Цитата:
И конечно же да - процессы не замены потокам.


Почему? Из-за чуть более сложной логики программы? Если процесс 1, то и параллельность только виртуальная будет, а если несколько процессов, их можно между процессорами распределить.

240
25 января 2012 года
aks
2.5K / / 14.07.2006
Цитата: Roman_pilot
Почему? Из-за чуть более сложной логики программы?


Потому что процессы и потоки - это разные сущности для разных нужд. Потрудитесь ознакомится то хотя бы что это такое, прежде чем спрашивать. Как минимум порождение нового процесса - это операция куда более дорогая и в отличие от потоков они не связаны общим адресным пространством. Так что для коммуникаций придется использовать какие либо внешние IPC и забыть про работу с едиными "объектами" языка программирования в разных процессах. Соотвественно разбивать на процессы код, не предполагающий этого - бессмысленно.

50K
25 января 2012 года
Roman_pilot
16 / / 10.02.2010
Ясно спасибо, ознакомлюсь.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог