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