代码如下:
我在每次循环后开启一个线程,
想问一下,程序线程的运行是每循环一次开启一个线程,然后执行相应的程序等这个等这些线程执行完毕后再 进入下个循环,还是这个线程开启后(相应的线程没有执行完毕)紧接着就会进入下个循环,开启下个线程?
像上边的代码,我运行后,电脑直接卡死了,我的初衷只是开启5个线程...
请高手指点一下,谢谢。
代码如下:
我在每次循环后开启一个线程,
想问一下,程序线程的运行是每循环一次开启一个线程,然后执行相应的程序等这个等这些线程执行完毕后再 进入下个循环,还是这个线程开启后(相应的线程没有执行完毕)紧接着就会进入下个循环,开启下个线程?
像上边的代码,我运行后,电脑直接卡死了,我的初衷只是开启5个线程...
请高手指点一下,谢谢。
for 循环写的有问题,你这2个for循环,
例如:执行 第一个for 循环 k==1
然后执行第2个for循环(如果per_count=10的话,这里就有10个 k ==1 ,会创建10个线程,其他k==2 ,k==3的时候也是这样),自己看一下per_count的值,算一下创建了多少个线程。
另外:线程开启后(start),就会马上进入下个循环,和执行别的语句没什么区别
解决方式:
1、把线程拿出来不要放到for循环里面
2、例如 if k==0 and j ==0