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(或其他标记语言)解析…

c++基础12比较/逻辑运算符

比较/逻辑运算符 布尔比较运算符逻辑运算符位运算符&#xff08;也用于逻辑运算&#xff09;1<a<10怎么表达T140399判断是否为两位数代码 布尔 在C中&#xff0c;布尔类型是一种基本数据类型&#xff0c;用于表示逻辑值&#xff0c;即真&#xff08;true&#xff09;或假…

探索 Java 中 String 类的常用方法

文章目录 1. 字符串拼接&#xff08;Concatenation&#xff09;2. 字符串长度&#xff08;Length&#xff09;3. 字符串比较&#xff08;Comparison&#xff09;4. 查找和替换&#xff08;Search and Replace&#xff09;5. 字符串分割&#xff08;Split&#xff09;6. 字符串转…

Qt的跨平台介绍

在实际开发中&#xff0c;Ubuntu 使用 Qt 编译并跨平台到 Windows 的场景并不算特别常见&#xff0c;但在一些特定情况下是非常有用的&#xff0c;尤其是在开发需要支持多个平台的跨平台应用时。这种方式的应用主要体现在以下几个方面&#xff1a; Linux 环境下开发 Windows 应…

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

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

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

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

MySQL数据库面试题(下)

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

HarmonyOS第一课——DevEco Studio的使用

HarmonyOS第一课 DevEco Studio的使用 集成开发环境&#xff1a; SDK构建插件ohpm等工具 DevEco Studio提供开箱即用的开发体验&#xff0c;将HarmonyOS SDK、Node.js、Hvigor、OHPM、模拟器平台等进行合一打包&#xff0c;简化DevEco Studio安装配置流程。 HarmonyOS SDK已…

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;包含两轮电动车、戴头盔、不戴头盔。数据集来自国内外监控摄像头截图。检测范围电动车、摩托车、双轮非自行车。 一、数据概述 佩戴…

ACM社团第一次测试题解(禁止直接复制粘贴提交)

第一题&#xff1a;中位数 思路&#xff1a; 解法一&#xff1a;暴力比较&#xff0c;两个数之间一直比较得出中位数 解法二&#xff1a;快排函数&#xff0c;数组中间值即为中位数 代码&#xff1a; 1.c语言版&#xff1a; #include <stdio.h> int arr[10010]; vo…

秃姐学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地…

uniapp(API-Promise 化)

一、异步的方法&#xff0c;如果不传入 success、fail、complete 等 callback 参数&#xff0c;将以 Promise 返回数据异步的方法&#xff0c;且有返回对象&#xff0c;如果希望获取返回对象&#xff0c;必须至少传入一项 success、fail、complete 等 callback 参数&#xff0c…

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

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