aardio 5分钟多线程开发简单入门

废话不多说 直接开干!

借用作者话说

虽然 aardio 的多线程开发非常简单,但是:

1、请先了解:「多线程」开发比「单线程」开发更复杂这个残酷的现实。

2、请先了解: aardio 这样的动态语言可以实现真多线程非常罕见。

建议先找任意的编程语言试试能不能更轻松地实现 aardio 多线程范例相同的效果。

如果实践后你发现 aardio 做多线程开发要轻松得多,那么请继续往下看,

如果遇到一点困难和限制就 ...... 什么啥的,建议早点放弃。

知识点

win.ui库

Thread :创建线程

Invoke:委托

上代码

python 复制代码
//入门
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 = {"✶";"✸";"✹";"✺";"✹";"✷"}	
	
	//创建工作线程
	thread.invoke( 
	
		//线程启动函数
		function(winform){
			
			for(i=1;3;1){
				sleep(1000); //在界面线程执行 sleep 会卡住
				
				//调用界面控件的成员函数 - 会转发到界面线程执行
				winform.edit.print("工作线程正在执行,时间:" +"aardio,"+ tostring( time() ) ); 
			} 
			
			winform.button.disabledText = null;
			
		},winform //窗口对象可作为参数传入工作线程
	)
}

/*
作者教程 建议阅读《aardio 多线程开发入门》
https://bbs.aardio.com/forum.php?mod=viewthread&tid=13625

*/

winform.show();
win.loopMessage();

运行结果

相关推荐
卢光庆16 天前
aardio - 汉字笔顺处理 - json转sqlite转png
aardio
IssacNew5 个月前
【原创软件】第7期:文件夹生成器V1.0-按照列表批量生成文件夹,简单小巧
aardio·列表·批量生成·记住文件夹·同名文件夹·文件夹
卢光庆5 个月前
aardio —— 今日减bug
aardio
卢光庆9 个月前
aardio - godking.json 【库】测试
aardio
卢光庆1 年前
aardio - 调用C编写的dll时的不同参数类型处理方法
aardio
belldeep1 年前
aardio:用 WebView 模仿 mdict 界面
aardio·webview2