daemon=True가 안 먹히네요
82
7 asked
안녕하세요.
저는 daemon=True 해도 서브가 모두 돌고 끝납니다. 무슨 이유가 있을까요?
# 스레드 실행 함수
def thread_func(name, d):
logging.info('Sub-Thread %s: starting', name)
for i in d:
print(i)
logging.info('Sub-Thread %s: finished', name)
...
# 함수 인자 확인
# daemon : default False
x = threading.Thread(target=thread_func, args=('First', range(20000)), daemon=True)
y = threading.Thread(target=thread_func, args=('Second',range(10000)), daemon=True)19:16:32: Main-Thread: all done
0
1
2
...
19999
19:16:32: Sub-Thread Second: finished
19:16:32: Sub-Thread First: finished
Answer 2
1
네 안녕하세요. 좋은 질문입니다.
메인쓰레드가 먼저 종료된것처럼 보이나, 실제로는 메인쓰레드 출력과 동시에
데몬쓰레드 출력이 나중에 표시된 것입니다.
실제 업무 환경에서도 ide에서 print 문으로 텍스트를 출력하는 시간이 미세하게
차이가 있습니다.
소스코드는 정상입니다.
주로
logging
I/O flush
lock
handler 종료 대기
등으로 아주 짧은 시간이지만 데몬쓰레드 실행이 끝나버립니다.(컴퓨터 성능이 그만큼 빠르기 때문)
참고 하시면 될 것 같습니다.
감사합니다.
Pros and Cons 관련하여 질문드립니다
0
58
1
threadpoolexecutor.submit 실행 시 순차 실행
0
211
2
queue 를 사용하는 이유?
1
224
1
멀티프로세싱 관련 질문
0
176
1
python gil 삭제
0
369
1
4분:59초 질문 그룹쓰레드 (5). 대기중인 작업 -> Queue -> 완료 상태조사 -> 결과 또는 예외 -> 단일화(캡슐화) 에 관해서
0
165
1
데몬스레드 설명
0
235
1
작업영역 질문
0
302
1
cmd에서 code작성시 기존에 깔아둔 vscode에서 이상한 화면이 뜨네요
0
284
1
ThreadPoolExecutor에서 작업중인 쓰레드가 있을때 대기할수 있는 방법이 있는지요?
0
272
1
py_ad_2_5_2 Sharing State의 Argument 부분
0
298
1
Thread(4) 16:10 스레드 질문
0
334
1
파이썬 병렬처리 관련 질문이 있습니다.
0
345
1
10:10쯤에 질문있습니다.
0
250
1
multiprocessing(5) - Queue 공유 질문 in multiprocess
0
429
1
seleniumwire multiprocessing 에러
0
723
1
logging과 print 차이 질문입니다..!
0
656
1
확장프로그램 질문입니다
0
292
1
KeyboardInterrupt 시 p.join에서 exception 발생
0
412
1
경쟁상태,교착상태, 메모리영역
0
257
1
ProcessPoolExecutor 사용 시 pid 증가
0
351
1
multiprocess 환경에서 특정 Process에 문제가 있거나 죽었을때 처리 방법
0
750
1
ThreadPoolExecutor 에서 max_workers 질문입니다.
2
1520
1
1-3강의 내용중 질문있습니다.
0
237
1

