易语言linux支持多线程,详解易语言启动多线程
用易语言写多线程应用要么使用多线程相关的api,支持库或模块,其实那些支持库或模块也都是封装的api,但是要比api使用方便。
总体来说易语言官方的多线程支持库要比一些杂七杂八的模块好多了。
支持库勾选上之后就可以使用易语言的多线程支持库了。
首先看用易语言多线程支持库创建线程的命令:启动线程:
命令名:启动线程
创建并启动一条线程,可重复使用以创建多条线程,成功返回真,失败返回假。
参数
数据类型
说明
参数<1>的名称为“欲执行的子程序”
子程序指针(SubPtr)
本参数提供创建线程时欲启动的子程序,根据是否需要传递参数数据,该子程序必须没有或具有一个整数型参数,否则将出错。
参数数据
整数型(int)
可以被省略。本参数提供线程被启动时传递到欲启动子程序的整数数据。如果本参数未被省略,此时被启动子程序必须接收一个整数型参数,否则将出错。
线程句柄
整数型(int)
,可以被省略,提供参数数据时只能提供变量。如果提供了本参数,将向参数变量写入线程句柄(Windows下为HANDLE,Linux下为pthread_t),请在适当的时机关闭该句柄。如果不提供本参数接收线程句柄,内部将自动处理线程句柄。
用易语言多线程支持库启动一条线程(控制台程序下):
.版本 2
.支持库 EThread
.程序集 程序集1
.程序集变量 线程句柄, 整数型
.子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行
启动线程 (&子程序1, , 线程句柄)
返回 (0) ' 可以根据您的需要返回任意数值
.子程序 子程序1
标准输出 (#标准输出设备, “线程已启动,线程句柄为:” + 到文本 (线程句柄))
这时候子程序1 将不是在主线程中执行的,而是在线程句柄为552的新线程中执行,和主线程互不相关。
通过下面的代码可以方便我们理解多线程:
.版本 2
.程序集 窗口程序集1
.子程序 _按钮1_被单击
子程序1 ()
.子程序 子程序1
.局部变量 n, 整数型
.计次循环首 (1000, n)
输出调试文本 (到文本 (n))
.计次循环尾 ()
按钮按下之后,循环不结束,界面是不能响应任何消息的额,也就是拖动点击什么的都没用,相当于卡死。
但是如果把按钮下调用的子程序1 ,改为
启动线程 (&子程序1, , )
则窗口可以正常响应消息,因为创建了一条新的线程来执行子程序1,主线程可以继续处理窗口消息。
易语言linux支持多线程,详解易语言启动多线程相关推荐
- c语言malloc用法 数组,详解C语言用malloc函数申请二维动态数组的实例
详解C语言用malloc函数申请二维动态数组的实例 C语言在程序运行中动态的申请及释放内存十分方便,一维数组的申请及释放比较简单. Sample one #include int main() { c ...
- windows 7编辑启动菜单 bcdedit linux,bcdedit用法详解 windows7/vista启动修改
bcdedit用法详解 windows7/vista启动修改 (2010-09-11 19:27:28) 标签: 杂谈 bcdedit用法详解 在Vista/2008下,我们通过msconfig的&q ...
- 详解c语言编程库题,详解C语言编程
C语言作为编程语言,其诞生已经很早,但是在编程语言多样化的今天,C仍然高居TIOBE编程语言排行榜的第一位(2014年5月),而C++语言排位第四.而位居第二位的Java本身就是脱胎于C++语言,第三 ...
- php 易语言md5加密解密,详解易语言调用js实现md5加密方法
易语言调用js需要用到拓展组件的脚本组件, 在窗口创建完毕的事件里给脚本组件初始化设置下脚本组件的语言属性,在这里以JScript为例: 脚本组件执行脚本的简单方法是: 脚本组件1.执行 () 然 ...
- linux权限管理详解,linux权限管理详解-Go语言中文社区
普通权限 -rw-r–r--. 1 root root 0 Feb 14 23:33 test 第1位标识文件类型: -:普通文件 b:块设备 c:字符设备 d:目录 l:符号链接 s:套接字文件 p ...
- c语言字 字符串转换成数组_C语言学习教程之详解C语言中的字符串数组
在C语言当中,字符串数组可以使用: char a[] [10]; 或者 char *a[]; 表示 第一种表示方式固定了每个字符串的最大大小.第二种没有字符串的大小限制. #include 总结 以上 ...
- c语言复杂函数转换,详解C语言常用的一些转换工具函数.pdf
详详解解C语语言言常常用用的的一一些些转转换换工工具具函函数数 1..字字符符串串转转十十六六进进制制 代码实现: void StrToHex(char *pbDest, char *pbSrc, i ...
- C语言学习教程之详解C语言中的字符串数组
在C语言当中,字符串数组可以使用: char a[] [10]; 或者 char *a[]; 表示 第一种表示方式固定了每个字符串的最大大小.第二种没有字符串的大小限制. #include <s ...
- c语言中文字符串数组,详解C语言中的字符串数组
在C语言当中,字符串数组可以使用: char a[] [10]; 或者 char *a[]; 表示 第一种表示方式固定了每个字符串的最大大小.第二种没有字符串的大小限制. #include #incl ...
- c语言long型数据转换,详解C语言的类型转换
1.自动类型转换 •字符型变量的值实质上是一个8位的整数值,因此取值范围一般是-128-127,char型变量也可以加修饰符unsigned,则unsigned char 型变量的取值范围是0-255 ...
最新文章
- 洛谷 2820 局域网
- Java基础篇:内部类详解
- 由return联想到的
- 2021龙岩一中高考成绩查询,喜报!2020年高考成绩已经揭晓,龙岩这七所一中,看看有没有你的母校!...
- nodejs之express入门
- 全国计算机等级考试题库二级C操作题100套(第36套)
- 纪中A组模拟赛总结(2021.7.21)
- ajax跨浏览器初始化,使用Ajax的jQuery localStorage的跨浏览器
- 四部门对蚂蚁集团提出整改要求,蚂蚁集团:已立即着手制定整改方案
- 推荐系统实践之:召回算法和工程协同优化的若干经验
- 中国农用喷洒机行业市场供需与战略研究报告
- What Are The Differences Between Base, Medium, and Full Camera Link Configurations?
- GitHub - ErnestChen1/SmartSpeaker: 一个基于云端语音识别的智能控制设备,类似于天猫精灵,小爱同学。采用的芯片为stm32f407,wm8978,esp8266。...
- ElasticSearch出现Cluster state has not been recovered yet, cannot write to the [null] index的解决办法
- 如何把html文件转化为mp3,如何将Flash转换为MP3
- java计算机毕业设计HTML5“忆红楼梦之味”网站设计与实现源码+mysql数据库+系统+lw文档+部署
- 推荐一位前普华永道 TechLeader,教你用 Python 赚到人生第一桶金
- 【新书推荐】头脑聪明,思维活跃,但极有可能是一名低质量学习者!
- win10 CPU占用率过高 经常100%
- Python,让地球转起来
热门文章
- flash服务器停止响应,Adobe Flash Player已经在Windows 10上停止工作
- 基于51单片机GPS的导航系统设计(1)---(设计思路)
- mysql 水晶报表_Crystal Reports 2008(水晶报表) JDBC连接mysql数据库
- 【win10专业版】ultraiso如何制作光盘启动盘
- 多车道交通流理论与应用研究综述思维导图
- Multisim 14.1 安装步骤
- 思科路由视频_HCNA-HNTD(H12-211)中文题库H10.24
- 【软件工程】——软件需求说明书
- 服装PDM产品数据管理
- 2020最新省市区县编码