반응형
저는 파이썬 프로그래밍의 초보자입니다. 프로세스가 데몬이 될 수 있지만 데몬 모드의 스레드라는 것을 이해합니다. 이의 사용 사례를 이해할 수 없었습니다.이를 이해하는 데 도움이되도록 파이썬 전문가에게 요청할 것입니다. .
해결 방법
스레딩을 사용하는 몇 가지 기본 코드는 다음과 같습니다.
import Queue
import threading
def basic_worker(queue):
while True:
item = queue.get()
# do_work(item)
print(item)
queue.task_done()
def basic():
# http://docs.python.org/library/queue.html
queue = Queue.Queue()
for i in range(3):
t = threading.Thread(target=basic_worker,args=(queue,))
t.daemon = True
t.start()
for item in range(4):
queue.put(item)
queue.join() # block until all tasks are done
print('got here')
basic()
실행하면
% test.py
0
1
2
3
got here
이제 줄을 주석 처리하십시오.
t.daemon = True
다시 실행하면 스크립트가 동일한 결과를 인쇄하지만 중단되는 것을 볼 수 있습니다.
메인 스레드는 끝나지만 ( got here
가 인쇄되었습니다) 두 번째 스레드는 끝나지 않습니다.
반대로 t.daemon
이 True
로 설정되면 메인 스레드가 종료 될 때 t
스레드가 종료됩니다.
참조 페이지 https://stackoverflow.com/questions/5127401
반응형
'파이썬' 카테고리의 다른 글
파이썬 왜 목록에는 사전과 같은 안전한 "get"메소드가 없습니까? (0) | 2020.10.09 |
---|---|
파이썬 SyntaxError : 생성기 표현식은 괄호로 묶어야합니다. (0) | 2020.10.09 |
파이썬 ImportError : _ssl이라는 모듈이 없습니다. (0) | 2020.10.08 |
파이썬 How to detect ESCape keypress in Python? (0) | 2020.10.08 |
파이썬 주어진 파이썬 문자열이 다른 문자열의 하위 문자열인지 어떻게 확인합니까? (0) | 2020.10.08 |
댓글