ブックマーク / blogs.wankuma.com (1)

  • Boost によるデザインパターン - Worker Thread

    Worker Thread パターンは、スレッドをあらかじめ起動しておくことにより、スレッドの起動するコストを削減することと、スレッドの数を制御することが出来るパターンです。 Boost.Function を使ってある程度汎用的にするとこんな感じになりました。 // Worker Thread class thread_pool { private: std::queue<boost::function0<void> > queue_; boost::thread_group group_; boost::mutex mutex_; boost::condition condition_; public: thread_pool(int size) { for (int i = 0; i < size; i++) { group_.create_thread(boost::bind(&th

    NIES
    NIES 2008/10/20
  • 1