неа GIL я пока использовать не планирую. Андрей, в предыдущей теме вы показали отличный пример для работы с многопоточным приложением, где это видно по времени выполнения скрипта и рандомной записи в файл.

# -*- coding: utf-8 -*-
import urllib, re, time, threading
from Queue import Queue
queue = Queue()
start = time.time()
f = open("user_th10.txt", "w+")
def Main():
while True:
if queue.empty():
return
site = queue.get_nowait()
url = urllib.urlopen(site).read()
pattern = r'profile.php\?id=\d+\">([^<]+)</a>'
users = re.compile(pattern)
users = re.findall(pattern, url)
if len(users) == 0:
break
for user in users:
f.write(user.decode('windows-1251').encode('utf-8')+'\n')
print user
for count in range(1, 15, 1):
queue.put('http://python.su/forum/userlist.php?username=&show_group=-1&sort_by=username&sort_dir=ASC&p='+str(count))
threads = []
for x in xrange(10):
t = threading.Thread(target = Main)
threads.append(t)
t.start()
for t in threads:
t.join()
f.write("Времени затрачено: %s" % (time.time() - start)+'\n')
f.close()
Сейчас читая книгу М. Лутца я уже дошел до части ООП, и хотелось бы перенести эту модель работы с потоками в класс. Всем спасибо за понимание и поддержку.