Python
쓰레드를 이용한 소켓
kcrong
2015. 4. 27. 10:08
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | from socket import * from thread import * import time def clientsend(conn): conn.send("HOW ARE YOU?") while 1: data=conn.recv(1024) if not data: break print data conn.close() s=socket(AF_INET,SOCK_STREAM) s.bind(("localhost",8888)) s.listen(1) conn,addr=s.accept() start_new_thread(clientsend ,(conn,)) while ThreadsLeft: time.sleep(0.1) print "Exit" | cs |
원래 쓰레드 종료까지 기다리기 위해
if done == 0:
sleep(0.1)
를 사용했다. (쓰레드가 완료되면 done 변수를 1로 초기화 하는 방식으로)
근데 검색해보니 쓰레드 종료대기를 위한 예약어가 있었다.
ThreadsLeft 는 실행중인 쓰레드가 있으면 True, 없으면 false 를 가지고 있다.