Резьбовое приложение спит с другим приложением - PullRequest
0 голосов
/ 28 апреля 2010

У меня странная проблема с многопоточным программным обеспечением.

Я запускаю 2 экземпляра программного обеспечения. Каждый экземпляр имеет 2 потока, один из которых создает сокет для использования, а другой использует сокет для связи.

Когда один из потоков в одном экземпляре вызывает sleep(3), другие потоки в другом экземпляре также спят. И самое странное, что когда я перезагружал компьютер, он работал в первый раз, но после второй попытки он спал, как описано.

Как это возможно? Использует ли он какой-то общий ресурс?

Ответы [ 2 ]

2 голосов
/ 28 апреля 2010

Сон приостанавливает ваш процесс , а не вашу ветку. См. сон против pthead_yield для получения более подробной информации.

0 голосов
/ 28 апреля 2010

Вы пробовали обернуть вашу функцию сна профилактическим средством?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...