0
스레드를 사용하여 파이썬 스크립트에 문제가 있습니다. 나는 다음과 같은 코드를 사용하여 문제를 모방 수 : 나는 Ctrl 키를 +와 스크립트 C을 방해하거나 그것의 끝에 도달하면, func1()
를 실행하는 스레드가 멈추지 않을 때파이썬 - 간단한 스레드가 중지되지 않습니다
from threading import Thread
def func1():
while True:
print 'Function 1'
def main():
t = Thread(target = func1)
t.start()
for i in xrange(100000):
print 'Main'
t.stop()
print 'End'
if __name__ == '__main__':
main()
문제입니다.
터미널을 열고 killall python
을 실행하는 경우에만 실행을 중단 할 수 있습니다.
파이썬에서 스레드로 작업하는 것은 이번이 처음입니다. 내가 도대체 뭘 잘못하고있는 겁니까?
Ctrl + C는 python2에서 스레드를 중지하지 않습니다. 'Thread (target = func1, daemon = True) '를 사용하여't'를 데몬 스레드로 만드는 것을 권장 할 수 있습니다. –
그것은 효과가있었습니다. 나는't.dameon = True'를 시작하고't.start()'를 시작하기 전에 데몬으로 만들어야했습니다. 감사합니다 @ cᴏʟᴅsᴘᴇᴇᴅ! –
나는 생성자 호출 중에 초기화 할 수 있다는 인상을 받았다. –