Я пытался использовать функцию потока в функции. Но мой терминал говорит, что глобальное имя «thread1» не определено? Есть ли способ реализовать это?Как использовать функцию экземпляра потока внутри функции?
Мой код выглядит так:
import time
import threading
count = 0
class Screen(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
self.thread_stop = False
def run(self):
while not self.thread_stop:
main()
def stop(self):
self.thread_stop = True
def test():
thread1 = Screen()
thread1.start()
def main():
global thread1,count
while True:
time.sleep(1)
count += 1
if count >=3:
thread1.stop()
print "Stop!"
break
test()
Логика вашего приложения не вещий Архитектура плохо с точки зрения синхронизации. Используйте '' 'Event''' для уведомления потоков о некоторых событиях лучше. –