用c++或c如何让所有的线程都执行完再执行下面的语句

我想让程序在单位时间里的模拟量上去,但是不太会用多线程处理,求救助... 我想让程序在单位时间里的模拟量上去,但是不太会用多线程处理,求救助 展开
 我来答
wwylele
2014-08-05 · TA获得超过2523个赞
知道小有建树答主
回答量:1037
采纳率:0%
帮助的人:1079万
展开全部
简单来弄的话,可以弄一个全局变量

volatile int counter=0;

然后每个线程需要等待的地方都写如下语句
counter++;
while(counter!=线程总数){}

如果想在弄复杂一点可以上网搜搜“线程同步”
追问
为什么我用了两个线程去增加单位时间的模拟次数,但是实际上模拟次数反而降了
追答
这个跟线程内容有关系的,因为多线程运行在许多时候实际是几个线程轮流执行(而不是真正意义上的同是执行)尤其比如说涉及到硬盘读写操作时,一个线程操作另一个线程就会等待,这样下来多线程的速度不一定比单线程高
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式