【发布时间】:2020-05-30 06:17:11
【问题描述】:
import os
a=[]
pid=os.fork()
if(pid!=0):
a.append(1)
print("Original: ", end='')
print(a,id(a))
else:
a.append(2)
print("Child: ", end='')
print(a,id(a))
# Result:
# Original: [1] 139725666412296
# Child: [2] 139725666412296
1。为什么父子进程共享同一个资源id?
2.如果他们共享相同的id,在我将2附加到列表后,为什么子进程没有打印出2?
3。 然后我打印出(在新的 Jupyter 笔记本代码块中)执行上述代码块后 lst 现在包含的内容。它打印:[1]。如果父进程先执行,子进程最后执行,为什么lst不是[1,2]?
【问题讨论】:
-
ID 独特性保证仅适用于单个进程。不同进程中的相同 ID 没有任何意义。
标签: python multithreading operating-system multiprocessing ram