2013-04-23 2 views
0

Я использую потоки на основе posix в linux для прослушивания неблокирующего сокета. Я хочу назвать этот поток конкретным временем, например. для .01 сек. Есть ли способ, которым я могу это сделать? СпасибоПланирование потоков на основе Posix

+1

Не могли бы вы описать, что вы пытаетесь сделать более подробно? Это не очень ясно в вашем вопросе. (Пожалуйста, [изменить] ваш вопрос, чтобы добавить более подробную информацию.) – Mat

+0

?? не понимаю. 'вызов этого потока для определенной продолжительности времени, например. для .01 сек '- вы не можете вызывать поток, и вы, похоже, запрашиваете блокировку неблокирующего сокета. –

+0

Я хочу прослушивать функцию сокета. Мне нравится void listen() { socket_listen(); } и не хотите застревать в этой функции, если слушать сокет нечего. –

ответ

0

Вы можете использовать функцию select() или pselect() с временем, равным 0,01 секунды. Таким образом, ваш поток может ждать сокет (блокировка или неблокирование, это не имеет значения). Когда select() вернется, он скажет вам, готов ли сокет или если ничего не произошло в выделенном тайм-ауте.

Смежные вопросы