У меня есть функция подпроцесса (называемые parseContents), который вызывается с помощью следующего кода:питона многопроцессорной проход ДИКТ от детского процесса обратно к родителю
def main():
p = Process(target=parseContents, args=(event.name,))
p.start()
p.join()
Используя модуль многопроцессорного и метод очереди, как я пошел бы о передаче переменной из parseContents на главную, которая будет использоваться после строки p.join()?
Я прочитал, что я хотел бы использовать:
from multiprocessing import Queue
queue = Queue()
queue.put(myVar) #obviously this would be inside parseContents()
print queue.get(myVar) #obviously this would be inside main()
Мне нужно передать переменную «очередь»/экземпляр моей функции parseContents после вызова его в мой основной Делайте это процесс ребенок знает о очереди ?
Какова была бы правильная реализация многопроцессорной очереди между родительским и дочерним процессами, построенная в сегменте main():
выше?
Я ничего не вижу в документах об удалении или опорожнении очереди. Как мне это сделать до вызова .join()? – sadmicrowave
Я просто имел в виду, что элемент, который вы должны вызвать, получает достаточно времени, чтобы вытащить все предметы из очереди, прежде чем вы вызовете соединение. – murgatroid99
oh gotcha! если я помещу только 1 элемент в очередь, тогда мне нужно только вывести 1 элемент. Я понимаю, спасибо, – sadmicrowave