надеюсь, что вы сможете помочь. Я пытаюсь написать приложение терминала с использованием python и curses, и для одной работы я вынужден использовать многопроцессорность.многопроцессорность висит проклятия в python
Проблема, с которой я столкнулся, заключается в том, что независимо от того, что я делаю, проклятия зависают сразу после запуска многопроцесса p1
, и я не вижу строку «это работает». Если, однако, я удаляю цикл из метода foo
, он работает, или если я положил {print "aaa"}
в метод foo()
, терминал был послан спамом со строками.
Другими словами, проклятия неактивны, пока процесс не завершится, хотя он должен быть противоположным. Как я могу избежать этого?
import time
import math
import sys
import curses
from multiprocessing import Process, Value, Array
sen1= Value('f',0)
def foo():
while(True):
sen.value = 1
stdscr = curses.initscr()
curses.noecho()
stdscr.border(0)
stdscr.addstr(12, 25, "Python curses in action!")
stdscr.refresh()
p1 = Process(target=foo())
p1.start()
while true:
stdscr.addstr(1,1,"it works" !!)