|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- import multiprocessing as mp
- def f (q):
- print('hello')
- q.put('no.1')
- if __name__ == '__main__':
- q = mp.Queue()
- p = mp.Process(target=f, args=(q,))
- p.start()
- p.join()
- print(q.empty())
- print(q.qsize())
- print(q.get())
- print(q.qsize())
- print(q.empty())
-
复制代码 运行结果为:
False
1
no.1
0
True
问题一:为什么队列中添加了内容,但是却看不到print()语句的输出?
- import multiprocessing as mp
- import threading as trd
- def f (q):
- print('hello')
- q.put('no.1')
- if __name__ == '__main__':
- q = Queue()
- th = trd.Thread(target=f, args=(q,))
- th.start()
- th.join()
- print(q.empty())
- print(q.qsize())
- print(q.get())
- print(q.qsize())
- print(q.empty())
复制代码 运行结果:
hello
False
1
no.1
0
True
问题二:如果将进程换成线程,就会看到print()的输出
|
|