3
import threading
print threading.activeCount()
출력 :이 코드는 파일 및 실행에 저장됩니다 2파이썬 스레드가 처음에 2로 계산되는 이유는 무엇입니까?
.
메인 스레드 일 때 어떻게 2가 될 수 있습니까?
우리는 foo.py 파일을 실행할 때 파이썬이 기본 스레드 이외에 다른 스레드를 기본적으로 실행합니까?
import threading
print threading.activeCount()
출력 :이 코드는 파일 및 실행에 저장됩니다 2파이썬 스레드가 처음에 2로 계산되는 이유는 무엇입니까?
.
메인 스레드 일 때 어떻게 2가 될 수 있습니까?
우리는 foo.py 파일을 실행할 때 파이썬이 기본 스레드 이외에 다른 스레드를 기본적으로 실행합니까?
심령 디버깅 : 평범한 파이썬 인터프리터에서는 실행되지 않습니다. 평범한 파이썬 인터프리터는 여분의 스레드를 시작하지 않지만 (이상한 PYTHONSTARTUP
파일을 가지고 있지 않다면), 다른 인터프리터는 그렇습니다. 예를 들어 :
ipython
은 (프롬프트 지연 피하기 위해)IDLE
이 소켓을 통해 통신하는 여러 프로세스를 사용하여 설계하고, 대화 형 인터프리터는 당신이 제공하는 백그라운드에서 명령 기록을 저장하기 위해 별도의 스레드를 실행 데몬 스레드를 사용하여 백그라운드 소켓 통신 수행실행 시도 print threading.enumerate()
; 예를 들어, ipython
은 HistorySavingThread
이라는 서브 클래스 인 HistorySavingThread
을 사용하고 있습니다. IDLE
은 보통 Thread
이지만, 실행되는 함수의 이름은 SockThread
이며, 무엇을하는지에 대한 단서를 제공합니다.
무엇을 테스트 중입니까? 백그라운드 작업을 위해 스레드를 사용하는'ipython' 또는'IDLE'에서 테스트하고있는 것 같습니다. 평범한 파이썬 인터프리터는'PYTHONSTARTUP' 파일 등에서 그렇게하지 않는 한 추가 스레드를 시작하지 않습니다. – ShadowRanger
나는'1'을 얻습니다 (파이썬 3.5.2 사용). – Olian04