다음은 문제를 나타내는 코드입니다. 이 예제는 단지 예일뿐입니다. 더 복잡한 어플리케이션에서 동일한 로직을 사용하고 있습니다. 시간을 절약하기 위해 sleep을 사용할 수 없으며, process1이 변수를 수정하는 데 걸리는 시간은 속도에 달려 있습니다. 인터넷 연결.한 스레드에서 변수를 수정하고 다른 스레드에서이를 확인하는 방법은 무엇입니까?
from multiprocessing import Process
code = False
def func():
global code
code = True
pro = Process(target=func)
pro.start()
while code == False:
pass
pro.terminate()
pro.join()
print('Done!')
이 옵션을 선택하면 화면에 아무 것도 표시되지 않습니다. CTRL-C를 눌러 프로그램을 종료하면 스택 추적은 while 루프가 실행되었음을 보여줍니다.
프로세스는 스레드가 아닙니다. 이 프로세스는 자체 독립적 인 전역 변수를 설정합니다. '멀티 프로세싱'프로세스 사이에서 통신하고 싶다면,'멀티 프로세싱'툴이 제공하는 문서와 문서를 사용하십시오. – user2357112
@ user2357112이 질문을 [파이썬 다중 처리의 공유 변수] (http://stackoverflow.com/questions/17377426/shared-variable-in-pythons-multiprocessing)에서 중복으로 표시 할 수 있습니까? 제 2의 의견이 필요합니다 –
@ user2357112 예제 코드를 제공해 주시겠습니까? –