我正在開發基於Boost :: Asio的網絡服務器。阻止提升Asio工作線程
我有我使用調用IO工作線程的boost::thread_group
boost::asio::io_service::run()
當網絡活動發生ASIO使用這些工作線程以處理活動中的一個(例如,接受或接收)。
我的應用程序然後做了一些工作,可能是一些計算,可能還有一些其他的IO(通過boost)以及可能的一些數據庫活動。
我想知道在這些線程中做所述工作的含義。具體做法是:
- 是否在IO線程導致 的
io_service
任何悲痛執行(可能顯著工作)?
而不是特別的:我應該考慮的任何其他問題。
我不清楚你是什麼意思,通過從工作者線程回調'boost :: asio'。我希望所有的工作線程都將其他工作添加到'io_service'中,否則事件處理循環('io_service :: run()')將終止。 – 2012-02-16 22:43:32
@Sam,謝謝 - 我想我可能對這個問題太擔心了。我將編輯該問題。我想我真正關心的是在工作線程中做了太多工作。 – Nick 2012-02-17 08:43:26