Latest posts on Работа с Нитями topichttps://python.su/forum/topic/1061/2007-07-29T14:03:09+03:00Общий :: Python для экспертов :: Работа с Нитями
2007-07-29T14:03:09+03:00bialix6889я опять же согласен. когда я не догадываюсь, то не отвечаю.
Общий :: Python для экспертов :: Работа с Нитями
2007-07-28T23:30:35+03:00Андрей Светлов6886Отлично, что все работает.<br/>Но я опять-таки возвращаюсь к теме хороших вопросов. Пример был некорректным, хоть и претендовал на полноту.<br/><strong>bialix</strong> догадался, в чем дело. Я - нет. Если бы не догадка - долго бы еще выясняли, что к чему. Или ответов не было бы. Или - были бы ответы вроде: “читай статьи по мультипоточке”.<br/>Я не хочу никого обидеть. Просто мне кажется, что правильные вопросы - хороший способ поднять продуктивность форума.
Общий :: Python для экспертов :: Работа с Нитями
2007-07-28T18:16:07+03:00felix6885Извиняюсь все работает. Всем большое спасибо!
Общий :: Python для экспертов :: Работа с Нитями
2007-07-28T18:12:06+03:00felix6884Просто если я оформляю как сказал bialix то все равно выдается один результат<br/><br/>class Main(threading.Thread):<br/> “”“Main thread”“”<br/> def __init__(self, queue):<br/> self.__queue = queue<br/> threading.Thread.__init__(self)<br/> <br/> def run(self):<br/> while True:<br/> self.__queue.get().start()<br/> time.sleep(0.0001)<br/>
Общий :: Python для экспертов :: Работа с Нитями
2007-07-28T16:56:52+03:00Андрей Светлов6883Ааа. Тогда - да. Не догадался :)<br/>А зачем тогда Main thread. Parse thread можно и так запускакть “по месту”. На один поток меньше.<br/>Если для баланстровки загрузки - то уже ThreadPool нужен.
Общий :: Python для экспертов :: Работа с Нитями
2007-07-28T16:26:14+03:00bialix6882<blockquote><em>Андрей Светлов</em><br/>Пример не работает.</blockquote>я так думаю, потому что класс Parse и есть класс Feeds.
Общий :: Python для экспертов :: Работа с Нитями
2007-07-28T16:24:05+03:00bialix6881потому что в методе Main.run() нужно организовать бесконечный цикл. Иначе после первого прохода поток благополучно завершается.
Общий :: Python для экспертов :: Работа с Нитями
2007-07-28T16:12:42+03:00Андрей Светлов6880Пример не работает. Я, по крайней мере, не могу понять, что ты хочешь.<br/>Приложи к нему какую-нибудь заглушку для Feeds и убедись, что хотя бы у тебя - запускается
Общий :: Python для экспертов :: Работа с Нитями
2007-07-28T13:05:06+03:00felix6878Всем доброго времени суток!<br/><br/>Начал было разбираться с Многопоточностью в Python, но сталкнулся с такой проблемой.<br/>Пишу код<br/><br/>class Parse(threading.Thread):<br/> “”“Parse Feed”“”<br/> def __init__(self, feed):<br/> threading.Thread.__init__(self)<br/> self.feed = feed<br/> <br/> def run(self):<br/> print self.feed<br/> time.sleep(0.0001)<br/><br/>class Main(threading.Thread):<br/> “”“Main thread”“”<br/> def __init__(self, queue):<br/> self.__queue = queue<br/> threading.Thread.__init__(self)<br/> <br/> def run(self):<br/> self.__queue.get().start()<br/> time.sleep(0.0001)<br/> #print f.feed<br/><br/>if __name__ == “__main__”:<br/> queue = Queue.Queue(0)<br/> m = Main(queue).start()<br/> f1 = Feeds("<a href="http://feedparser.org/docs/examples/atom10.xml">http://feedparser.org/docs/examples/atom10.xml</a>“)<br/> queue.put(f1)<br/> time.sleep(0.0001)<br/> f2 = Feeds(”<a href="http://feedparser.org/docs/examples/atom10.xml">http://feedparser.org/docs/examples/atom10.xml</a>")<br/> queue.put(f2)<br/> time.sleep(0.0001)<br/><br/><br/>Но почему только выводится на экран результат работы f1, а f2 проходит без следно. Не подскажите в чем может быть дело?