Python多线程
我想实现执行某个模块后,开启一个线程,当执行指定时间后(或者完成了该线程的任务后结束线程)用于改进 https://fishc.com.cn/thread-224262-1-1.html,请问这种多线程怎么实现 wyhpylc 发表于 2023-2-18 09:20
通过一个函数来运开启一个新线程(因为tk的按钮组件的 命令是执行一个函数)
from threading import Thread
from tkinter import *
def func():
# 线程里要执行的东西。函数可以有参数,通过Thread的args参数向func传递参数。
pass
root = Tk()
button = Button(root, text='别点')
# target目标函数,args参数
button['command'] = Thread(target=func, args=[]).start
button.pack()
root.mainloop()
就是说,你要开启一个线程,线程运行一会儿就退出?
那线程是重复运行吗 不太懂你的需求,线程完成任务后肯定会结束的,执行特定的时间就用 time.sleep 计时就行了,
你要在执行某个模块后开启,就在调用这个模块的后面启动线程不就好了 isdkz 发表于 2023-2-17 22:08
不太懂你的需求,线程完成任务后肯定会结束的,执行特定的时间就用 time.sleep 计时就行了,
你要在执行 ...
但是我想通过启动某个函数来启动线程,可以吗,我实测时是有些bug的,不知道是不是我的操作问题 歌者文明清理员 发表于 2023-2-17 22:08
就是说,你要开启一个线程,线程运行一会儿就退出?
那线程是重复运行吗
通过一个函数来运开启一个新线程(因为tk的按钮组件的 命令是执行一个函数) 本帖最后由 wyhpylc 于 2023-2-18 11:01 编辑
歌者文明清理员 发表于 2023-2-17 21:50
经过测试,我发现这样该线程任务执行完后,没法关闭,有没有办法结束一个线程from threading import Thread
from tkinter import *
def func():
print(1)
root = Tk()
button = Button(root, text='别点')
# target目标函数,args参数
button['command'] = Thread(target=func, args=[]).start
button.pack()
root.mainloop()
这样输出一次后,再次点击,会报错(我想让他输出完后就结束) wyhpylc 发表于 2023-2-18 10:59
经过测试,我发现这样该线程任务执行完后,没法关闭,有没有办法结束一个线程
这样输出一次后,再次点 ...
你为什么要线程关闭?
另外,如果报错,
def func2():
Thread(target=func, args=[]).start()
# 每次都创建一个Thread
button['command'] = func2 歌者文明清理员 发表于 2023-2-18 11:05
你为什么要线程关闭?
另外,如果报错,
def func2():
感谢!
页:
[1]