需求:在Python-主线程控制子线程-3的基础上,新增使用UDP接收指令功能,代替从键盘输入指令
# 修改后的程序,主线程可以获取子线程的结果
import threading
import time
import queue
import traceback
from loguru import logger
import socket
class WorkerThread(threading.Thread):
def __init__(self, result_queue):
super().__init__()
self.stop_event = threading.Event()
self.result_queue = result_queue
static_variable = 0
def run(self):
thread_id = threading.get_ident()
print(f"Worker thread {thread_id} has started.")
while not self.stop_event.is_set():
print(f"Worker thread {thread_id} is running.")
result = self.do_work()
self.result_queue.put(result)
time.sleep(1)
print(f"Worker thread {thread_id} has stopped.&