У меня есть этот фрагмент кода, который динамически генерирует несколько потоков в зависимости от длины массива (в данном случае 3)
with concurrent.futures.ThreadPoolExecutor(max_workers=3) as ex:
for parameters in nodes:
ex.submit(process_functions, nodes[parameters], parameters)
Я предполагаю, что эта функция создает 3 потока
process_function ( ) выглядит примерно так:
def process_function(a,b):
# Connect
DO_SOMETHING()
time.sleep(2)
def Do_something():
put something_in message Queue
return something
Вопросы:
- Как это будет работать внутри? я получу копию этой функции за поток?
- Желательна ли эта структура? что может быть лучшим способом сделать это?