170 похожих чатов

Привет! подскажите, почему subprocess.Popen.wait() блокирует исполнение соседних тредов? например, ```from concurrent.futures import

ThreadPoolExecutor
import subprocess

def run_process():
p = subprocess.Popen(['sleep', '1'])
p.wait()

with ThreadPoolExecutor(max_workers=10) as Exe:
for i in range(10):
Exe.submit(run_process())```
исполняется 10 секунд вместо одной:
time python ./test-subprocess.py

real 0m10.149s
user 0m0.040s
sys 0m0.047s

10 ответов

5 просмотров

wait блокирует теущий тред

Игорь- Автор вопроса
Tishka17
wait блокирует теущий тред

судя по threading.current_thread().name я все время нахожусь в MainThread где же ThreadPoolExecutor

ты в экзекьютор передаешь результат вызова run_process, то есть по факту None

Игорь
спасибо

а в целом в чем идея вообще? Зачем тебе трепуд экзекьютр и саб процесс одновременно?

Tishka17
а в целом в чем идея вообще? Зачем тебе трепуд экз...

асинк без оборачивания в таски бессмысленен?

Elysium ㅤ
асинк без оборачивания в таски бессмысленен?

ну если у тебя всего один таск, то смысла действительно нет

Tishka17
ну если у тебя всего один таск, то смысла действит...

а как вообще это работает что мы ждем выполнение одного и паралельно делаем второе без тредов? или мы прост ничего не делаем а делаем типо паузу при долгих ожиданиях инфы откуда-то ещё?

Похожие вопросы

Обсуждают сегодня

А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Ну раз я пока тут, задам пару глупых вопросов. Зачем писать на ассемблере если компилятор довольно умный, а ассемблер много времени занимает? В каких прикладных задачах сейчас...
Максим Рябцев
20
Я тут за тем, чтобы задать вопрос, так как не знаю ассемблер, учу с/с++. Короче, насколько дорога операция перехода в функцию при ее вызове? Дело в том, что в с++ есть макросы...
Максим Рябцев
12
А какие чаты вообще в ходу? Auto aim? И что еше
do you think you're better off alone? А
13
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
14
hello friends. Do you know how can I learn getx? I have a software project that I should deliver it up to 5 weeks later and I need to learn firebase too. I will be thankfull
AmirHossein Razavi
15
Доброе время суток! у меня тут иноды закончились. и понял почему по сути кстит, я периодически очищаю постгрес и сентри контайнер: postgres=# DELETE FROM nodestore_node WHER...
Юсиф Насиров
9
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Карта сайта