Python 다 중 스 레 드 프로 그래 밍 (6): 스 레 드 간 통신
4990 단어 python
스 레 드 간 에 서로 통신 할 필요 가 있 을 때 가 많다.흔히 볼 수 있 는 상황 은 부차적인 스 레 드 가 주요 스 레 드 로 특정한 임 무 를 수행 하고 실행 과정 에서 실 행 된 진도 상황 을 계속 보고 해 야 하 는 것 이다.앞의 조건 변수 동기 화 은 스 레 드 간 통신 (threading. Condition 의 notify 방법) 과 관련 되 어 있 습 니 다.더 일반적인 방식 은 threading. Event 대상 을 사용 하 는 것 입 니 다.threading. Event 는 다른 스 레 드 의 통 지 를 기다 리 게 할 수 있 습 니 다.초기 값 이 False 인 플래그 가 내장 되 어 있 습 니 다.스 레 드 는 wait () 방법 을 통 해 대기 상태 에 들 어 갑 니 다. 다른 스 레 드 가 set () 방법 으로 내 장 된 로 고 를 True 로 설정 할 때 까지 이 벤트 는 모든 대기 상태의 스 레 드 가 다시 실 행 될 것 을 알 립 니 다.또한 isset () 방법 으로 Envent 대상 내 장 된 상태의 현재 값 을 조회 할 수 있 습 니 다.예 를 들 면 다음 과 같다.
import threading
import random
import time
class MyThread(threading.Thread):
def __init__(self,threadName,event):
threading.Thread.__init__(self,name=threadName)
self.threadEvent = event
def run(self):
print "%s is ready" % self.name
self.threadEvent.wait()
print "%s run!" % self.name
sinal = threading.Event()
for i in range(10):
t = MyThread(str(i),sinal)
t.start()
sinal.set()
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.