Twisted (Python)-В чем разница между сотрудничеством и сотрудничеством?

Документы здесьhttp://twistedmatrix.com/documents/current/api/twisted.internet.task.html#cooperate предполагают, что разница в том, что сотрудничество возвращает CooperativeTask, тогда как coiterate возвращает Deferred (, что подтверждается моими собственными тестами, не указанными в документации). Я провел выходные, изучая основы Twisted, поэтому я понял, что такое Deferred, и я был хорошим мальчиком, отправляя свой блокирующий код в потоки/процессы. Я понимаю, что coiterate работает так быстро, как это позволяет Twisted, тогда как LoopingCall пытается запуститься с выбранным интервалом.

Я подозреваю, что задачи сотрудничества()выполняются внутри объектов CooperativeTask, а задачи сотрудничества()— внутри объектов Deferred. Если кто-то может обобщить различия в поведении между сотрудничеством и сотрудничеством, я был бы признателен.

8
задан pagga 10 April 2012 в 02:10
поделиться