쓰레드를 for문으로 띄워서 속도에 최적화 되게 만드는 것은 부루투 포싱때 매우 유용하다
for tgtPort in tgtPorts:
t = Thread(target=connScan, args=(tgtHost,int(tgtPort)))
t.start()
하지만 이 경우 결과가 뒤죽박숙 섞여서 출력 될 수 있다. 때문에, 세마포어 등을 이용하여
약간 의 코드 수정을 해주는 것이 좋다.
screenLock = Semaphore(value =1 )
def connScan(tgtHost, tgtPort):
try :
.....
screenLock.acquire()
.....
except :
screenLock.acquire()
finally:
screenLock.release()
connSky.close()