manager.Queue().get()用法
时间: 2024-02-03 15:15:44 浏览: 154
`manager.Queue()` 返回一个新的队列对象,这个对象可以在多个进程中共享。其中一个进程将对象放入队列中,而另一个进程则将其取出。
`get()` 方法是该队列对象的方法之一,用于从队列中获取一个项目。如果队列为空,则 `get()` 方法会一直阻塞,直到有项目可供获取为止。
示例代码:
```python
from multiprocessing import Process, Manager
def worker(q):
item = q.get()
print(f"Received item: {item}")
if __name__ == '__main__':
manager = Manager()
q = manager.Queue()
# Put an item into the queue
q.put("Hello, world!")
# Start a worker process to get the item from the queue
p = Process(target=worker, args=(q,))
p.start()
p.join()
```
在该示例中,我们创建了一个队列 `q` 并将字符串 "Hello, world!" 放入队列中。然后,我们启动一个 worker 进程来获取队列中的项目。worker 进程调用 `get()` 方法来等待并获取队列中的项目。由于队列中已经有一个项目,因此 worker 进程能够获取该项目并将其打印出来。
阅读全文