Python多处理队列文件描述符

时间:2013-02-25 11:09:53

标签: python queue multiprocessing

我想知道队列是否有文件描述符以及如何找到它?

1 个答案:

答案 0 :(得分:4)

Queue类使用单向multiprocessing.Pipe()进行通信。

您可以通过连接的(私有)._reader._writer属性以及(至少在POSIX上)获得该管道的任一端,这些方法有.fileno()个方法:

>>> import multiprocessing
>>> queue = multiprocessing.Queue()
>>> queue._reader.fileno()
3
>>> queue._writer.fileno()
4

让我强调那里的“私人”绰号; ._reader._writer属性是实现细节,因此可以在不破坏已发布API的情况下更改未来版本。使用风险自负。