Я пытаюсь обнять эту голову. Я не нашел слишком много хороших примеров в Интернете, где я четко вижу, что происходит с многопроцессорной обработкой. Я использую python 2.7 То, что я пытаюсь сделать, это заставить скрипт python прослушивать входные данные, а затем действовать на него, если он получен, но все еще выполняет задачи, чувствительные к времени. Поэтому я не могу прослушивать прерывание потока остальной части скрипта.Python 2.7 Multiprocessing
Вот мои настройки:
def listen_process():
while 1 < 2:
print "blue"
q = multiprocessing.Process(target=listen_process())
q.start()
print red
Я ожидал бы мой выход выглядеть примерно так:
blue
blue
red
blue
...
вместо этого, все это я получаю
blue
blue
blue
...
Я только получить красный, когда Я прерываю его.
В реальном коде я делаю os.system вызов в новый файл, который по существу делает в то время цикла, но я не могу понять, почему вызов другой файл будет иметь никакого значения ...
Код, который вы предоставили, ничего не выводит –
Вы хотите, 'target = listen_process', а не' target = listen_process() '. – dano
Вы имели в виду 'print" red "'? Также я понятия не имею, почему он будет печатать 'blue', поскольку' 1> 2' оценивает 'False'? –