from multiprocessing import Process, Queue
from time import sleep
#encoding=utf-8
class MyProcess(Process):
def __init__(self, name, mq):
Process.__init__(self)
self.name = name
self.mq = mq
def run(self):
print(f'Process:{self.name},start')
print(f'get Data:{self.mq.get()}')
self.mq.put(self.name)
sleep(3)
print(f'Process:{self.name},end')
if __name__ == '__main__':
mq = Queue()
mq.put('1')
mq.put('2')
mq.put('3')
p_list = []
for i in range(3):
p = MyProcess(f'p{i}',mq)
p_list.append(p)
for p in p_list:
p.start()
C:\Users\kjin\PycharmProjects\pythonProject\venv\Scripts\python.exe C:\Users\kjin\PycharmProjects\pythonProject\queue.py
Traceback (most recent call last):
File "C:\Users\kjin\PycharmProjects\pythonProject\queue.py", line 21, in <module>
mq = Queue()
^^^^^^^
File "C:\Users\kjin\AppData\Local\Programs\Python\Python311\Lib\multiprocessing\context.py", line 102, in Queue
from .queues import Queue
File "C:\Users\kjin\AppData\Local\Programs\Python\Python311\Lib\multiprocessing\queues.py", line 21, in <module>
from queue import Empty, Full
ImportError: cannot import name 'Empty' from 'queue' (C:\Users\kjin\PycharmProjects\pythonProject\queue.py)
Process finished with exit code 1
