cr7tianxie 2022-06-22 23:27 采纳率: 100%
浏览 17
已结题

python多进程出现问题

正常应该是同时进行主进程和子进程的代码,但是结果打印出来是按顺序进行的

代码如下:
from multiprocessing import Process

def ceshi():
for i in range(50):
print(i, "子")

if name == 'main':
a = Process(target=ceshi)
a.start()
for i in range(50):
print(i,"主")

运行结果及报错内容
0 主
1 主
2 主
3 主
4 主
5 主
6 主
7 主
8 主
9 主
10 主
11 主
12 主
13 主
14 主
15 主
16 主
17 主
18 主
19 主
20 主
21 主
22 主
23 主
24 主
25 主
26 主
27 主
28 主
29 主
30 主
31 主
32 主
33 主
34 主
35 主
36 主
37 主
38 主
39 主
40 主
41 主
42 主
43 主
44 主
45 主
46 主
47 主
48 主
49 主
0 子
1 子
2 子
3 子
4 子
5 子
6 子
7 子
8 子
9 子
10 子
11 子
12 子
13 子
14 子
15 子
16 子
17 子
18 子
19 子
20 子
21 子
22 子
23 子
24 子
25 子
26 子
27 子
28 子
29 子
30 子
31 子
32 子
33 子
34 子
35 子
36 子
37 子
38 子
39 子
40 子
41 子
42 子
43 子
44 子
45 子
46 子
47 子
48 子
49 子

我的解答思路和尝试过的方法
我对了每一个代码,都已经按照电脑上的一模一样敲打了,还是不行

我想要达到的结果
应该是顺序交错的。

  • 写回答

1条回答 默认 最新

  • 桔子code 2022-06-23 00:01
    关注

    启动一个进程是很耗时间的,你这样主进程运行完循环后,子进程还在“慢慢”启动,所以看到这样的效果。 有2种方法可以改变运行效果:1.主进程中的循环加大到5000等更大的数值; 2、主进程中添加time.sleep(0.3) 或其他延时,需要导入time模块

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 7月1日
  • 已采纳回答 6月23日
  • 创建了问题 6月22日

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。