Я создал две простые функции, чтобы увидеть, как работают потоки. Я хочу заполнить список, пока поток жив. Но возвращенный список пуст.Python - список не заселен, пока поток жив
def test_function():
x=1
while x<=100000:
x=x+1
def thread_function(funct):
t = threading.Thread(target=funct)
t.start()
l = []
while t.isAlive():
l.append(datetime.datetime.now())
return l
print(thread_function(test_function())) #returns []
Что делать, если прогоны нить _and finishes_ немедленно, прежде чем войти в 't.isAlive()' цикл? У вас нет способа узнать, произошло ли это или проверить цикл, созданный внутри потока. – Useless
Кстати, не называйте свой список 'list'. Это имя типа. – khelwood
[kelwood] (http://stackoverflow.com/users/3890632/khelwood) Спасибо за наблюдение. Я редактировал свой код. –