3

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

4

1 回答 1

7

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

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

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

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

于 2013-02-25T11:35:38.193 回答