당신을 도울 수 있기를 바랍니다. 나는 파이썬과 저주를 사용하는 터미널 애플리케이션을 작성하려고 노력하고 있으며, 한 가지 작업을 위해 나는 다중 처리를 사용해야한다.다중 처리로 인해 파이썬에서 저주가 걸린다
내가 직면 한 문제는 다중 처리를 시작한 직후에 저주가 멈추고 p1
"작동합니다"문자열이 표시되지 않는다는 것입니다. 그러나 메서드 foo
에서 루프를 제거하면 작동합니다. 또는 을 foo()
메서드에 넣으면 터미널에 문자열이 스팸됩니다.
즉, curses는 반대가되어야하지만 프로세스가 완료 될 때까지 비활성 상태입니다. 어떻게 피할 수 있습니까?
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" !!)