↓
 ↑
Регистрация
Имя/email

Пароль

 
Войти при помощи
arctblake
9 апреля 2016
Aa Aa
прогресс в задаче насколько возможно без блокировки -> возврат в цикл. Следующая задача из очереди - снова прогресс насколько возможно -> возврат в цикл и тд.

С каждой блокирующей операцией связан некоторый момент в будущем, когда данная операция перестанет быть блокирующей.

Для каждой блокирующей операции должно быть что-то, что даст нам понять, что операция больше не является блокирующей и что задание, связанное с этой операцией, можно смело снова класть в очередь заданий, тк когда до него дойдет очередь, оно совершенно точно будет способно продвинуться дальше в своем логическом развитии. Для операций I/O это 'что-то' - selectors.select(). Для операции 'получение item'а из очереди' - операция 'положить item в очередь'. Для операций, выполняющихся в другом потоке/процессе, - callback, который будет вызван, когда операция завершится.
9 апреля 2016
ПОИСК
ФАНФИКОВ







Закрыть
Закрыть
Закрыть