비동기 (스레딩) SocketServer http://docs.python.org/2/library/socketserver.html의 예에서는 서버 스레드 (server_thread)가 시작되어 각 요청에 대해 새 스레드를 시작합니다. KeyboardInterrupts를 잡는 데 몇 가지 문제가 있기 때문에 비슷한 코드를 찾기 시작했고 서버 스레드를 사용하지 않을 때 명백한 차이가 없다는 것을 알았지 만 ctrl-c가 실제로 작동합니다.SocketServer ThreadingMixIn of server_thread
server_thread를 사용하는 경우 내 코드는 내가 아주 많이
1) 왜 단순한 '시도가'KeyboardInterrupt 작업을 잡으려고하지 않습니다 알고 싶습니다 작동하더라도?
2)이 예제의 server_thread는 어떤 좋은 점이 있습니까? 시도에 keyboardinterrupt 잡기 파이썬 SocketServer 예에서
은 작동하지 않습니다if __name__ == "__main__":
server = ThreadedTCPServer(serverAddr, SomeCode)
<snip>
# Start a thread with the server -- that thread will then start one
# more thread for each request
server_thread = threading.Thread(target=server.serve_forever)
server_thread.start()
내 간단한 예를 들어, CTRL-C의 작품.
'serve_forever()'에서 ThreadedTCPServer를 중단 할 수 있습니다. 그것은 아무 것도 중요하지 않습니다. 중요한 작업은 핸들러 스레드에서 기다리고 싶을 수 있습니다. – User