Как остановить поток в python?

Пользователь

от maya , в категории: Python , 7 месяцев назад

Как остановить поток в python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от autumn_parker , 6 месяцев назад

@maya 

В Python можно остановить поток с помощью метода Event из модуля threading. Вот пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
import threading

# Создаем Event для сигнализации остановки потока
stop_event = threading.Event()

# Определяем функцию, которую будет выполнять поток
def my_thread_func():
    while not stop_event.is_set():
        # Здесь помещается код, выполняемый в цикле потока
        print("Thread is running...")

# Создаем и запускаем поток
my_thread = threading.Thread(target=my_thread_func)
my_thread.start()

# Через некоторое время останавливаем поток
stop_event.set()

# Ожидаем завершения потока
my_thread.join()

print("Thread is stopped.")


В этом примере создается поток, описываемый функцией my_thread_func(). Он выполняется в цикле до тех пор, пока не будет вызван метод set() у объекта stop_event. Затем мы ждем, пока поток завершит свою работу с помощью метода join(), и выводим сообщение "Thread is stopped.".