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

我想让程序在单位时间里的模拟量上去,但是不太会用多线程处理,求救助

简单来弄的话,可以弄一个全局变量

volatile int counter=0;

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

如果想在弄复杂一点可以上网搜搜“线程同步”追问

为什么我用了两个线程去增加单位时间的模拟次数,但是实际上模拟次数反而降了

追答

这个跟线程内容有关系的,因为多线程运行在许多时候实际是几个线程轮流执行(而不是真正意义上的同是执行)尤其比如说涉及到硬盘读写操作时,一个线程操作另一个线程就会等待,这样下来多线程的速度不一定比单线程高

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答