Страница 4 из 4

Добавлено: 02 фев 2007, 22:45
ajkj3em
Marmot писал(а):
ajkj3em писал(а):
sobomax писал(а): Главное четко понимать что именно ты можеш закенселить а что нет. И тогда можно апликухи правильно писать.
ну да ... дискусиия плавно перешла в констатацию непротиворечивых фактов .. :)
Кстати, а как было бы красиво это сделать?
Мне вот всегда хотелось для любого blocking io в thread-е иметь что-то типа SO_TIMEOUT. Типа время прошло, разблокируйся и узнай, что я по этому поводу думаю :)
И с возможностью продолжить ожидание с того же места :)
ну если шашечки и на С, то что-нибудь типа custom API поверх manually scheduled threading поверх async event loop. типа вызов my_read(), запоминает stack state, регистрирует file descriptor на чтение, запускает внутренний timer и возврашетcя назад в event loop code, откуда собсно все и dispatch'тcя. типа изврашенных co-routines, только полезнее :)

на линуксах делаетcя через ucontext & co.