0
我有一個線程池,並要顯示當前運行的職工人數:蟒蛇線程池的大小
threadPool = ThreadPool(poolSize)
...
threadPool._processes
_processes總是顯示2,即使我的poolSize要大得多。我也知道有更多的正在運行的工作者,因爲當我增加poolSize時,處理時間會減少。
我有一個線程池,並要顯示當前運行的職工人數:蟒蛇線程池的大小
threadPool = ThreadPool(poolSize)
...
threadPool._processes
_processes總是顯示2,即使我的poolSize要大得多。我也知道有更多的正在運行的工作者,因爲當我增加poolSize時,處理時間會減少。
這不是你池的大小。 _processes
只是您傳遞給初始值設定項的processes
值(或者如果processes
爲None,則爲cpus的數量)。隨着
ThreadPool()._processes
您創建了一個新的池,初始化CPU的系統上的數字。現在我將用我的心靈力量來預測你有2點cpus。如果你想要你的游泳池的大小,檢查你的游泳池,而不是創建一個新的游泳池
threadPool = ThreadPool(poolSize)
...
threadPool._processes
如何檢查當前池的大小?即實際使用的尺寸。不是poolSize。 (假設poolSize設置爲100,並且只需要50) – Chris
哦,你想要在任何給定的時間有多少人在使用?我不確定這是跟蹤的。我會偷看一下。 – tdelaney
我沒有看到一個好方法來做到這一點。您可以實現一個流程範圍計數器,每個工作人員增量和減量。 – tdelaney