Chinaunix

标题: c++ boost做几百个并发的线程? [打印本页]

作者: u634781    时间: 2011-01-12 12:02
标题: c++ boost做几百个并发的线程?
看到网上的并发2个线程的程序是这样写的:
  1. ...  
  2. boost::thread thread1(boost::bind(&other, port1, port7, addr2));   
  3. boost::thread thread2(boost::bind(&other2, port8, port2, addr2));   
  4. thread1.join();   
  5. thread2.join();   
  6. ...  
复制代码
这个并发2个进程要写2个thread的代码,并发100个的话该怎么写呢?
谢谢各位
作者: erlangs    时间: 2011-01-12 12:10
while 之
作者: wb112200    时间: 2011-01-12 12:45
while 之
erlangs 发表于 2011-01-12 12:10



    {:3_196:}  就是while 也要构造好多 参数吧 还是很麻烦啊 呵呵
作者: wensdrtr1    时间: 2011-01-12 12:50
参数吧 还是很麻烦啊
作者: starzhestarzhe    时间: 2011-01-12 13:30
不要while,还是按上面那个写
作者: c/unix    时间: 2011-01-12 13:33
提示: 作者被禁止或删除 内容自动屏蔽
作者: finalday1982    时间: 2011-01-13 14:07
说明不懂得使用基本的循环语句。
可以用boost::thread_group,也可以用 std::vector<boost::thread*>。

boost::thread_group grp;
for (int i = 0; i < 100; i++)
{
        grp.create_thread(run);
}
grp.join_all();
作者: kuok2000    时间: 2011-01-24 16:41
疯了。。可能去写100个join么。。还是detach吧。。
作者: rain_fish    时间: 2011-01-24 17:40
那就别join了
作者: yuhang001    时间: 2011-01-25 09:20
boost不太熟悉,不过这类中间件一般有线程池实现,可以考虑使用这个,不用这样写while。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2