Объединение потоков в Python3 .start () не создает атрибут соединения - PullRequest
0 голосов
/ 03 марта 2019

Это прекрасно работает:

def myfunc():
    print('inside myfunc')

t = threading.Thread(target=myfunc)
t.start()
t.join()
print('done')

Однако это, очевидно, при правильном создании и выполнении потока:

def myfunc():
    print('inside myfunc')

t = threading.Thread(target=myfunc).start()
t.join()
print('done')

Создает следующую фатальную ошибку при попадании в join ():

AttributeError: у объекта 'NoneType' нет атрибута 'join'

Я бы подумал, что эти операторы эквивалентны.Чем отличается?

1 Ответ

0 голосов
/ 03 марта 2019
t = threading.Thread(target=myfunc).start()

threading.Thread (target = myfunc) возвращает объект потока, однако object.start () возвращает None.Вот почему существует ошибка AttributeError.

...