ну надеюсь понятно что тут модули import urllib import threading from

 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
26
27
28
29
30
31
#ну надеюсь понятно что тут модули
import urllib
import threading
from Queue import Queue
import time
def checkit(): #главная функция
line = q.get() #вытаскиеваем из очереди 1 елемент
x = urllib.urlopen("http://www.{0}".format(line)).getcode() #ну тут обробатываем этот элемент
print str(x) #тут тоже
q.task_done() #даем очереди знать что мы закончили работу с 1 элементом и чтоб она приступила к 2ому
q = Queue() #делаем саму очередь
f = open("urls.txt", "r") #открываем файл с содержанием сайтов для чтения
try:
for line in f: #проводим цикл чтоб получить каждую строку по одтельности
q.put(line) #добовляем в очередь
finally:
f.close() #закрываем файл
Threads_Number = threading.active_count() #до time.sleep() делаем динамическию очередь
while True:
if q.qsize() == 0: break
if q.qsize()<Threads_Number*2:
for x in xrange((Threads_Number*2)-q.qsize()):
t = threading.Thread(target=checkit)
t.start()
else:
time.sleep(0.1)
q.join() #эт я хз там в примере было