代码如下:我在每次循环后开启一个线程,想问一下,程序线程的运行是每循环一次开启一个线程,然后执行相应的程序等这个等这些线程执行完毕后再 进入下个循环,还是这个线程开启后(相应的线程没有执行完毕)紧接着就会进入下个循环,开启下个线程?像上边的代码,我运行后,电脑直接卡死了,我的初衷只是开启5个线程...请高手指点一下,谢谢。
2 回答

qq_遁去的一_1
TA贡献1725条经验 获得超7个赞
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

POPMUISE
TA贡献1765条经验 获得超5个赞
程序线程的运行是每循环一次开启一个线程,这个线程开启后(相应的线程没有执行完毕)紧接着就会进入下个循环.
之所以运行后司机,我猜是因为for循环一直在运行
具体的原因,建议你使用ide的debug或者,或者自己在代码里加中断尝试
- 2 回答
- 0 关注
- 532 浏览
添加回答
举报
0/150
提交
取消