Python объявляет глобальную переменную для потоковой передачи.тип возвращаемого потока

#python #python-3.x #python-multithreading

#python #python-3.x #python-многопоточность

Вопрос:

У меня есть многопоточное приложение Python, которое запускает поток в 1 функции

 global eventthread

def StartEventCollection(server, port, filtercommand):
   eventthread = threading.Thread(target=ProcessEvents, args=("EventThread", 0)).start()
 

Теперь у меня есть другая функция, в которой я сталкиваюсь с ошибкой и хочу закрыть поток

 def StopEventCollection():
   eventthread.join()
 

Мой код не работает, потому что моя 2-я функция не может найти eventthread, определенный в функции 1.
Как я могу сделать eventthread глобальным?

Комментарии:

1. используйте global ключевое слово

2. Пожалуйста, создайте минимальный рабочий пример проблемы!

3. Пытался объявить переменную eventthread как глобальную, но, похоже, не помогает

Ответ №1:

Проблема решена следующим изменением:- def StartEventCollection(server, port, filtercommand): global eventthread eventthread = threading.Thread(target=ProcessEvents, args=("EventThread", 0)).start()