Как упорядочить потоки threading
Я пишу сканер на открытые порты для проверки своего приложения,но ,к сожалению без потоков это займёт очень большое кол-во времени. Помогите пожалуйста упорядочить потоки.
1 поток - 1.url.com
2 поток - 2.url.com
3 потом - 3.url.com
====Первый поток завершает работу====
1 поток - 4.url.com
А то у меня получается,что первый поток переходит на 2.url.com
def go(n):
try:
nm = nmap.PortScanner()
#scan_thread = Thread(nmap.PortScanner().scan(), args=(mas[j],'1-65000',))
#scan_thread.start()
#scan_thread.join(timeout=120)
nm.scan(n)
for host in nm.all_hosts():
print('----------------------------------------------------')
print('Host : %s (%s)' % (host, nm[host].hostname()))
print('State : %s' % nm[host].state())
for proto in nm[host].all_protocols():
print('----------')
print('Protocol : %s' % proto)
lport = nm[host][proto].keys()
for port in lport:
print ('port : %s\tstate : %s' % (port, nm[host][proto][port]['state']))
except Exception:
print('',end='')
for j in range(len(mas)-1):
scan_thread = Thread(target=go, args=(str(mas[j]),))
scan_thread.start()
scan_thread.join(timeout=300)
Где mas[j] - это url,
mas[0]=0.url.com
mas[1]=1.url.com