废话不多说 直接开干!
aardio群794241191
知识点
0.提高计算效率:在计算密集型任务中,使用多线程可以使得程序并行执行,从而提高计算效率。例如,在机器学习模型的训练过程中,可以使用多线程来加速数据预处理和模型训练的过程。
1.改善用户体验:在需要响应用户请求的应用程序中,使用多线程可以使得程序能够同时处理多个用户请求,从而改善用户体验。例如,在一个 Web 应用程序中,可以使用多线程来处理用户的请求,从而避免用户在等待服务器响应时出现卡顿的情况。
2.提高并发能力:在需要同时处理多个任务的应用程序中,使用多线程可以提高程序的并发能力。例如,在一个网络爬虫中,可以使用多线程来同时抓取多个网页,从而提高爬虫的效率。
3.实现实时数据处理:在需要实时处理数据的应用程序中,使用多线程可以使得程序能够同时处理多个数据流,从而实现实时数据处理的功能。例如,在一个实时数据分析系统中,可以使用多线程来同时处理多个数据流,从而实现实时数据分析的功能。
thread.invoke( 线程启动函数,"给你的","也是给你的","上车后打我电话" )
线程(Thread)与委托(Invoke)
案例
import win.ui;
/*DSG{{*/
var winform = win.form(text="多线程 —— 入门";right=536;bottom=325)
winform.add(
button={cls="button";text="启动线程";left=27;top=243;right=279;bottom=305;db=1;dl=1;dr=1;font=LOGFONT(h=-16);z=1};
edit={cls="edit";left=27;top=20;right=503;bottom=223;db=1;dl=1;dr=1;dt=1;edge=1;multiline=1;z=2}
)
/*}}*/
winform.button.oncommand = function(id,event){
//禁用按钮并显示动画
winform.button.disabledText = {"794241191";"白叔King";"一包辣条";"✷"}
//创建工作线程
thread.invoke(
//线程启动函数
function(winform){
for(i=1;3;1){
sleep(1000); //在界面线程执行 sleep 会卡住
//调用界面控件的成员函数 - 会转发到界面线程执行
winform.edit.print("aardio群794241191 执行,时间:" + tostring( time() ) );
}
winform.button.disabledText = null;
},winform //窗口对象可作为参数传入工作线程
)
}
winform.show();
win.loopMessage();