Задать вопрос
@MarkSmersh

Почему сначала заканчивается func1, а уж потом выводит, что func1 началась?

Код:
import time
import threading

def func1():
    time.sleep (1)
    for x in range (10):
        print (x)
        time.sleep (.5)

def func2():
    t = threading.Thread (target = func1())
    t.start ()
    print ('func1 has started')

func2()


Вывод:
0
1
2
3
4
5
6
7
8
9
func1 has started
  • Вопрос задан
  • 81 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
t = threading.Thread (target = func1())
Ты запускаешь поток, в качестве тела которого указываешь то, что вернула после вызова func1.
Это None, и поток ничего не делает.
Исправь на
t = threading.Thread (target = func1)
Нужно запомнить разницу:
func1 - ссылка на функцию
func1() - результат вызова функции без параметров
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 янв. 2025, в 19:29
700 руб./в час
23 янв. 2025, в 19:29
17000 руб./за проект
23 янв. 2025, в 19:11
2500 руб./за проект