Все всегда явно упоминают, что next_tick будет выполняться в главной теме. А как насчет таймеров и обратных вызовов/ошибок? Являются ли они гарантированными для запуска в главной теме?EventMachine: работают ли таймеры и обратные вызовы в главной теме?
ответ
Независимо от рубиновой версии EM работает все, кроме кодового блока EM.defer внутри реактора нити (EM.defer результат и по ошибке блоков в реакторе тоже), так что да,
таймеры, обратные вызовы и гарантируется, что в реакторной (основной) резьбе гарантируется отказ от ошибок
Предполагая, что вы используете MRI Ruby, тогда есть только 1 'настоящая/нативная' резьба, которая является основной/реакторной нитью, и весь код выполняется этой реакторной нитью. Все таймеры и обратные вызовы будут подняты на резьбе реактора.
Eventmachine не предназначен для использования нескольких потоков как часть стандартной операции, однако Eventmachine имеет метод «EM :: defer», который будет выполнять блок на другом «ruby» потоке, и я считаю, что если вы работаете с многопоточным рубином, таким как jruby или rubinious, тогда он будет запускаться в «родной» ОС-потоке. «Defer» следует использовать, если вы собираетесь выполнять какой-либо «блокирующий» код.
- 1. Как работают делегаты и обратные вызовы?
- 2. rails_admin, обратные вызовы не работают
- 3. XMPP4R Обратные вызовы не работают
- 4. Обратные вызовы EDSDK не работают
- 5. eventmachine и внешние скрипты через обратные ссылки
- 6. Тестирование EventMachine таймеры с RSpec
- 7. Как работают обратные вызовы в неблокирующем дизайне?
- 8. Как работают обратные вызовы в JavaScript?
- 9. Выполняют ли таймеры C# в отдельной теме?
- 10. Как обратные вызовы операционной системы работают
- 11. Обратные обратные вызовы
- 12. Закрытие и обратные вызовы
- 13. Обратные обратные вызовы
- 14. Обратные вызовы MEANjs не работают (404)
- 15. Обратные вызовы не работают при запуске отладчика;
- 16. jQuery Ajax Как работают обратные вызовы?
- 17. WebHttpBinding и обратные вызовы
- 18. Делегаты и обратные вызовы
- 19. Обратные вызовы Fancybox youtube не работают
- 20. Андроид намерения и обратные вызовы
- 21. JQuery UI Tabs обратные вызовы не работают
- 22. Обратные вызовы адресов Coinbase не работают?
- 23. Обратные обратные вызовы на Ajax.BeginForm не работают правильно
- 24. Обратные обратные вызовы
- 25. Обратные вызовы и это
- 26. Прототипы и обратные вызовы
- 27. LookUps и обратные вызовы
- 28. $ .when и обратные вызовы
- 29. Javascript и обратные вызовы
- 30. Обратные обратные вызовы в Rails