以下是一个简单的实现例子,使用 Python 的 threading 模块创建多线程,并使用 tkinter 库创建按钮来控制程序的执行流程:

import time
import threading
import tkinter as tk

# 全局变量,用于控制程序运行状态
running = True

def receive_data():
    global running
    while running:
        # 接收数据的逻辑代码
        print('接收数据...')
        time.sleep(1)

def send_data():
    global running
    # 发送数据的逻辑代码
    print('发送数据...')
    time.sleep(5)
    print('发送完成')
    running = True  # 发送完成后继续执行程序1

def start_receive():
    global running
    running = True
    # 创建并启动接收数据的线程
    t = threading.Thread(target=receive_data)
    t.start()

def stop_receive():
    global running
    running = False

def start_send():
    # 创建并启动发送数据的线程
    t = threading.Thread(target=send_data)
    t.start()

# 创建主窗口
window = tk.Tk()

# 创建按钮1,点击后开始接收数据
btn1 = tk.Button(window, text='开始接收', command=start_receive)
btn1.pack()

# 创建按钮2,点击后停止接收数据,开始发送数据
btn2 = tk.Button(window, text='停止接收,开始发送', command=lambda: [stop_receive(), start_send()])
btn2.pack()

# 进入主循环
window.mainloop()

在上面的代码中,使用全局变量 running 控制程序的运行状态。程序1通过循环不断接收数据,当点击按钮2时,将 running 设为 False,使程序1暂停。然后调用程序2发送数据,发送完成后将 running 设为 True,使程序1继续执行。

Python 多线程实现程序交互:接收数据、发送数据和按钮控制

原文地址: https://www.cveoy.top/t/topic/o9Ql 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录