Мне нужно применить функцию к каждому элементу итерации с фиксированным количеством потоков (скажем, N), работающих одновременно, как это делает multiprocessing.ThreadPool.map(), но моя функция выполняет присвоения глобальным объектам и не делает этого. вернуть что-нибудь. Как я могу ограничить количество одновременных потоков, не используя карту и не тратя память на список None?
def function(x):
print(x)
# do some actions, don't return anything
iterable = list(range(1000_000))
import multiprocessing.pool as mp
import os
N = os.cpu_count()
with mp.ThreadPool(N) as pool:
_ = pool.map(function, iterable)
# returns unnecessary list of Nones
Подробнее здесь: https://stackoverflow.com/questions/584 ... processing
Ограничить количество одновременных потоков многопроцессорности ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как ограничить количество одновременных асинхронных операций ввода -вывода?
Anonymous » » в форуме C# - 0 Ответы
- 4 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как ограничить количество одновременных асинхронных операций ввода -вывода?
Anonymous » » в форуме C# - 0 Ответы
- 3 Просмотры
-
Последнее сообщение Anonymous
-