Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

[Python] Pool threading - падение производительности

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> [Python] Pool threading - падение производительности
Имя
Сообщение << Старые топики   Новые топики >>
[Python] Pool threading - падение производительности - 2009-10-28 21:28:32.870000   
SkylerX

Сообщений: 29
Оценки: 0
Присоединился: 2009-07-21 16:13:04.873333
При работе с потоками и создании из них очереди сталкиваюсь с ужасным падением производительности на последних командах из очереди.
Так же, пытаясь выводить кое-какую инфу, иногда бывает, что вывод кривой в некоторых местах. Т.е. выводит два числа не на новой строке каждый, а в одной строке оба, бывает повторяет и пропускает числа.
Сам скрипт:
#!/usr/bin/python import urllib, sys, threading, Queue, datetime start = datetime.datetime.today().second+int(datetime.datetime.today().minute)*60 proxylist = open('proxy.txt', 'r') count = len(proxylist.readlines()) proxylist = open('proxy.txt', 'r') goodproxy = open('goodproxy.txt', 'w') countproxy = count class thread(threading.Thread): def run(self): while 1: global countproxy proxy = proxypool.get() if proxy != None: proxies = {'http': 'http://'+proxy} try: urllib.urlopen('http://torrents.ru', proxies=proxies) goodproxy.write(proxy) countproxy = countproxy - 1 print countproxy except: countproxy = countproxy - 1 print countproxy proxypool.task_done() proxypool = Queue.Queue() threads = 10 for i in range(threads): t = thread() t.setDaemon(True) t.start() #thread().start() for line in proxylist.readlines(): proxypool.put(line) while 1: pass
Post #: 1
Страниц:  [1]
Все форумы >> [Веб-программинг] >> [Python] Pool threading - падение производительности







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.