前言
最近多线程与高并发的知识点真的是相当的火呀,这不,刚刚家里的小祖宗(比我小一辈的孩子,但是岁数没差多少)在面试的时候就碰壁了,不过幸好的是他作为应届生,应该拿offer问题不大,让他碰壁的就一个问题:多进程间的全局变量共享吗?
其实是很简单的一个话题,不过,这小伙子可能当时紧张了,就没回答出来多少内容,最后抱歉的跟面试官其他的忘记了
哈哈哈哈,话不多说,直接看代码吧,这种直观的展现是我比较喜欢的
import multiprocessing as mul_p import time egg1 = 1 def write(egg2, q): global egg1 print("write全局变量彩蛋[%s]..." % egg1) print("write彩蛋[%s]..." % egg2) egg1 -= 1 print("write全局变量彩蛋[%s]...原来的彩蛋[1]" % egg1) # 将修改后的彩蛋1的值放入队列中去 q.put(egg1) def read(egg2, q): global egg1 print("read全局变量彩蛋[%s]..." % egg1) print("read彩蛋[%s]..." % egg2) while True: # 从队列中取出 p1 子进程中的 全局变量彩蛋1 的值 egg1 = q.get() print("read接收到的write中的全局变量彩蛋[1]的值:%d" % egg1) if q.empty(): print("接收完毕...