|
楼主 |
发表于 2017-7-7 12:57:45
|
显示全部楼层
改了点
自己学习吧~
- import tkinter as tk
- import multiprocessing as mp
- import time
- def proc(que,n):
- que.put('proc %d' % n)
- time.sleep(5) # 模拟耗时过程
- que.get()
-
- def cmd():
- global cnt
- if not q.full():
- cnt += 1
- p = mp.Process(target=proc, args=(q,cnt))
- p.daemon = True
- p.start()
- #p.join()
- tk.messagebox.showinfo('子进程','子进程已经启动!')
- else:
- tk.messagebox.showwarning('- 提示 -','子进程正在运行……')
- ## windows系统必须在 main 下运行
- if __name__=='__main__':
-
- cnt = 0
- q = mp.Queue(1)
-
- root = tk.Tk() # 界面在 main 中生成,否则会重复。
- tk.Button(root,text='--点几下呗--',command=cmd).pack()
- root.mainloop()
- # 关闭界面后,会执行下面的语句
- print('点了 %d 次哦~' % q.qsize())
- while not q.empty():
- print(q.get())
-
- print('end')
-
复制代码 |
|