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

废话不多说 直接开干!
借用作者话说

虽然 aardio 的多线程开发非常简单,但是:
1、请先了解:「多线程」开发比「单线程」开发更复杂这个残酷的现实。
2、请先了解: aardio 这样的动态语言可以实现真多线程非常罕见。
建议先找任意的编程语言试试能不能更轻松地实现 aardio 多线程范例相同的效果。
如果实践后你发现 aardio 做多线程开发要轻松得多,那么请继续往下看,
如果遇到一点困难和限制就 …… 什么啥的,建议早点放弃。

知识点

win.ui库
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 = {"✶";"✸";"✹";"✺";"✹";"✷"}	//创建工作线程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();

运行结果
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/59616.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一个基于Nodejs的快速、简洁且高效的静态博客框架

大家好,今天给大家分享一个基于Node.js的静态博客框架Hexo,它以其快速、简洁且强大的特点,成为搭建个人博客的优选工具。 项目介绍 Hexo 是一个快速、简洁且高效的博客框架。 Hexo 使用 Markdown(或其他标记语言)解析…

拍立淘API:当购物遇上“读图写话”

在这个看脸的时代,拍立淘API就像是那个总能猜中你心思的“读图写话”高手,你给它一张图,它就能给你一篇购物清单。这项技术就像是魔法,把图片里的商品变到你眼前。本文将带你一起走进这个魔法世界,看看拍立淘API是如何…

天云数据战略签约浪潮 成为浪潮智慧城市银河联盟2024优秀战略合作伙伴

3月29日,浪潮智慧城市银河联盟2024生态伙伴大会正式举办,来自全国各地的行业专家、技术大咖、生态伙伴齐聚一堂,共谋智慧城市新质生产力,助力构筑智慧便民的数字社会新图景。天云数据战略签约浪潮,成为浪潮智慧城市银河联盟2024生态伙伴。 济…

MySQL数据库面试题(下)

视图 为什么要使用视图?什么是视图? 为了提高复杂SQL语句的复用性和表操作的安全性,MySQL数据库管理系统提供了视图特性。所谓视图,本质上是一种虚拟表,在物理上是不存在的,其内容与真实的表相似&#xf…

【p2p、分布式,区块链笔记 Torrent】WebTorrent 的lt_donthave插件

扩展实现 https://github.com/webtorrent/lt_donthave/blob/master/index.js /*! lt_donthave. MIT License. WebTorrent LLC <https://webtorrent.io/opensource> */// 导入所需模块 import arrayRemove from unordered-array-remove // 用于从数组中删除元素的函数 i…

NVR小程序接入平台/设备EasyNVR多品牌NVR管理工具/设备汇聚公共资源场景方案全析

随着信息技术的飞速发展&#xff0c;视频监控已经成为现代社会安全管理和业务运营不可或缺的一部分。特别是在公共资源管理方面&#xff0c;视频监控的应用日益广泛&#xff0c;涵盖了智慧城市、智能交通、大型企业以及校园安防等多个领域。NVR小程序接入平台EasyNVR作为一款功…

C/C++使用AddressSanitizer检测内存错误

AddressSanitizer 是一种内存错误检测工具&#xff0c;编译时添加 -fsanitizeaddress 选项可以在运行时检测出非法内存访问&#xff0c;当发生段错误时&#xff0c;AddressSanitizer 会输出详细的错误报告&#xff0c;包括出错位置的代码行号和调用栈&#xff0c;有助于快速定位…

contenteditable实现需要一个像文本域一样的可编辑框

我这里是因为左上和右下有一个固定的模板&#xff0c;所有用textarea有点不方便&#xff0c;查了下还有一个方法可以解决就是在需要编辑的元素上加上 :contenteditable"true" 完整代码如下&#xff0c;因为这个弹窗是两用的&#xff0c;所以用messageType做了一下判…

QML项目实战:自定义Switch按钮

目录 一.添加模块 1.QtQuick.Controls 2.1 2.QtGraphicalEffects 1.12 二.自定义Switch 三.标签 四.效果 五.代码 一.添加模块 1.QtQuick.Controls 2.1 QtQuick.Controls 提供了一组预定义的 UI 控件&#xff0c;这些控件可以用于构建现代、响应式的用户界面。它包括按…

【数据集】【YOLO】【目标检测】电动车佩戴头盔检测数据集 5448 张,YOLO/VOC格式标注!

数据集介绍 【数据集】电动车头盔检测数据集 5448 张&#xff0c;目标检测&#xff0c;包含YOLO/VOC格式标注。数据集中包含3种分类&#xff0c;包含两轮电动车、戴头盔、不戴头盔。数据集来自国内外监控摄像头截图。检测范围电动车、摩托车、双轮非自行车。 一、数据概述 佩戴…

秃姐学AI系列之:GRU——门控循环单元 | LSTM——长短期记忆网络

RNN存在的问题 因为RNN模型的BPTT反向传导的链式求导&#xff0c;导致需要反复乘以一个也就是说会出现指数级别的问题&#xff1a; 梯度爆炸&#xff1a;如果的话&#xff0c;那么连乘的结果可能会快速增长&#xff0c;导致梯度爆炸梯度消失&#xff1a;如果的话&#xff0c;…

mysql if函数如何处理无匹配记录的情况?使用聚合函数

问题描述&#xff1a;编者在使用mysql中的if(car_number,"监管车辆","非监管车辆")函数时&#xff0c;场景为在一个car表中如果能查到具体某辆车这辆车就是我司监管车辆&#xff0c;差不到就不是我司监管车辆显示非监管车辆&#xff0c;遇到匹配不到的数据…

以太网交换安全:MAC地址漂移

一、什么是MAC地址漂移&#xff1f; MAC地址漂移是指设备上一个VLAN内有两个端口学习到同一个MAC地址&#xff0c;后学习到的MAC地址表项覆盖原MAC地址表项的现象。 MAC地址漂移的定义与现象 基本定义&#xff1a;MAC地址漂移发生在一个VLAN内的两个不同端口学习到相同的MAC地…

【react框架之dvajs】dvajs项目中effect互相调用及阻塞的实现方式

在dva中实现两个effect方法互相使用&#xff0c;即方法A处理完了接口请求&#xff0c;拿到相关数据再去用另外一个getor方法。像下面这样的效果 业务需求 effects: {*getA({ type, payload }, { put, take }) {yield put({ type: "getB" });yield put({ type: "…

Unity3D学习FPS游戏(10)子弹攻击敌人掉血(碰撞检测)

前言&#xff1a;前面最然创造出带有血条的敌人&#xff0c;但子弹打中敌人并没有效果。所以本篇将实现子弹攻击敌人&#xff0c;并让敌人掉血。 子弹攻击敌人掉血 整体思路目标补充知识-碰撞检测 准备工作刚体和碰撞器添加添加刚体后子弹代码优化补充知识-标签系统Tag添加 碰…

Tornado简单使用

Tornado简单使用 1 介绍 Tornado 是一个基于Python的Web服务框架和 异步网络库&#xff0c;它最初由 FriendFeed 开发&#xff0c;后来被 Facebook 收购并开源&#xff0c;通过利用非阻塞网络 I/O, Tornado 可以承载成千上万的活动连接&#xff0c;完美的实现了 长连接、WebS…

倍思获喜马拉雅年度最佳协作之星,打造移动数码品牌跨界新体验

近日,在“听见,共建,同行”——2024喜马拉雅有声之夜年度创作者大会暨峰爆榜颁奖典礼上,移动数码品牌Baseus倍思凭借其卓越的技术实力与创新的品牌理念,荣获“年度最佳协作之星”奖项。这一荣誉肯定了倍思在行业的深耕细作,也树立起品牌与喜马拉雅平台跨界合作、共同演绎音频生…

[单例模式]

[设计模式] 设计模式是软件工程中的一种常见做法, 它可以理解为"模板", 是针对一些常见的特定场景, 给出的一些比较好的固定的解决方案. 不同语言适用的设计模式是不一样的. 这里我们接下来要谈到的是java中典型的设计模式. 而且由于设计模式比较适合有一定编程经…

内部知识库:优化企业培训流程的关键驱动力

在当今快速变化的商业环境中&#xff0c;企业培训的重要性日益凸显。内部知识库作为整合、管理和分享企业内部学习资源的关键工具&#xff0c;正逐步成为优化企业培训流程的核心。以下将探讨内部知识库如何通过多种功能&#xff0c;助力企业提升培训效率、质量和员工满意度。 …

Ubuntu - 进入紧急模式,无法进入桌面

目录 一、问题 二、分析原因 三、解决 四、参考 一、问题 重新安装VMVare之后&#xff0c;将之前的虚拟机加载不进来 二、分析原因 查看系统错误日志 journalctl -xb | grep Failed mnt挂载找不到了 三、解决 查看系统错误日志 如果是磁盘错误&#xff0c;此时终端会有…