Python 3.4, опитвам се да направя сървър, използвайки модула websockets (преди това използвах обикновени сокети, но исках да направя javascript клиент), когато се натъкнах на проблем (защото очаква async, поне ако примерите трябва да бъдат доверен, който не съм използвал преди). Threading просто не работи. Ако изпълня следния код, лентата никога няма да бъде отпечатана, докато ако коментирам реда с yield from
, той работи според очакванията. Така че yield вероятно прави нещо, което не разбирам съвсем, но защо дори никога не се изпълнява? Трябва ли да инсталирам python 3.5?
import threading
class SampleThread(threading.Thread):
def __init__(self):
super(SampleThread, self).__init__()
print("foo")
def run(self):
print("bar")
yield from var2
thread = SampleThread()
thread.start()
yield
от рутина за изпълнение, която трябва да зацикля завинаги/да прави нещо, а не да връща/дава нещо. - person Jean-François Fabre   schedule 18.12.2016loop.run_in_executor()
. Но ако наистина имате нужда - стартирайте нов цикъл на събития изрично във вашата нишка. - person Andrew Svetlov   schedule 18.12.2016