多进程的执行顺序问题
from multiprocessing import Processdef func():
for i in range(1000):
print("外进程", i)
if __name__ == '__main__':
p = Process(target=func)
p.start()
for i in range(1000):
print("内进程", i)
这是我照视频上抄下来的程序,按照多进程执行顺序来说,应该是有很多地方会同时执行。
但是我的执行结果却是,先执行内进程,然后才执行外进程。
这样正常吗?
哪位前辈帮忙看一下啊。谢谢啊 正常,你你是有多看不起计算机?抢到资源的那一会就运行完了
数字往大了整,你看这样:
from multiprocessing import Process
def func():
for i in range(100000):
print("外进程:::::", i)
if __name__ == '__main__':
p = Process(target=func)
p.start()
for i in range(100000):
print("内进程", i)
运行结果(挑了一段混着的):
内进程外进程::::: 92647
84001内进程
外进程:::::8400292648
外进程::::: 84003内进程
外进程::::: 92649
内进程 8400492650
外进程::::: 内进程84005 92651
外进程::::: 84006
外进程:::::
84007内进程
92652外进程::::: 84008
外进程:::::
84009内进程
外进程:::::8401092653
内进程 92654
内进程外进程:::::9265584011
内进程 92656外进程:::::
内进程 92657
内进程84012
外进程::::: 8401392658
最好加一个锁啥的限制,不然就会像这样很乱 白two 发表于 2021-8-28 14:44
正常,你你是有多看不起计算机?抢到资源的那一会就运行完了
数字往大了整,你看这样:
哈哈。我看视频上老师讲的也就是1000,我也就照单全收了,也没改,反复运行,以为是哪出问题了。
还有就是你说的锁是啥呀?怎么加? 就是你一个进程进行某一个操作的时候禁止另一个进程进行操作
你自己搜一下吧
菜鸟教程上面有线程的锁的解释,和进程有些类似 白two 发表于 2021-8-28 17:43
就是你一个进程进行某一个操作的时候禁止另一个进程进行操作
你自己搜一下吧
菜鸟教程上面有线程的锁的解 ...
谢谢你啊
页:
[1]