详解易语言启动多线程
用易语言写多线程应用要么使用多线程相关的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下,如果线程已经结束,本命令可能返回假.本命令为初级命令. 参数 数据类型 说明 线程句柄 整数型(int) 可通过"启动线程"的第三个参数获取线程句柄. 使用例子: .版本 2 .支持库 EThread .程序集 程序集1 .程序集变量 线程句柄, 整数型 .子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行 启动线程 (&子程序1, , 线程句柄) 关闭线程句柄 (线程句柄) 返回 (0) '
-
详解易语言的多线程模块
精易模块 子程序名:线程_启动 [首拼] xc_qd [备注] 成功返回线程句柄,失败返回0 [调用格式] [返回值类型] 整数型 <有返回值> 线程_启动(要启动的子程序,要传去子程序的参数) 『参数说明』 参数个数:2 参数1:要启动的子程序, 子程序指针 参数2:要传去子程序的参数, 整数型, 可空, 往子程序里面传递一个整数型的参数 你可以传递一个整数型的参数 如果你需要传递的是文本 你可以把文本变量的地址传过去 取指针地址_文本型 () 然后在用指针到文本还原成文本 指针_到文本 紫
-
易语言多线程多任务下载器的代码
多线程多任务下载模块源码 1.DLL命令表 .版本 2 .DLL命令 InternetGetConnectedStateHTTP, , "Wininet.dll", "InternetGetConnectedState", 公开 .参数 lpdwFlags, 整数型, 传址 .参数 dwReserved, 整数型 .DLL命令 InternetOpenAHTTP, 整数型, "Wininet.dll", "InternetOpenA&q
-
易语言实现多线程验证代理是否有效的代码
载入程序 .版本 2 .程序集 启动 .子程序 _启动子程序, 整数型 载入 (_主窗口, , 假) 返回 (0) 多线程的方式验证ip的代码 此功能需要加载鱼刺类_线程操作模块和鱼刺类_HTTP模块 .版本 2 .支持库 iext .程序集 主窗口程序集 .程序集变量 线程池, 鱼刺类_线程池Ex, , , 框架 .程序集变量 临界, 鱼刺类_临界许可 .程序集变量 线程, 鱼刺类_线程操作 .程序集变量 验证网址, 文本型, , , 配置 .程序集变量 验证字符串, 文本型 .程序集变量 是
-
简单的易语言多线程应用实例
多线程确实挺复杂的,洪雨不是很了解,也不想深入了解 这里只是把主要的命令和重点记录一下. 主要流程就是 1.启动窗口创建完毕 创建许可证 2.启动窗口将被销毁 删除许可证 3.一个线程操作的时候要 进入许可区 4.操作完后要 退出许可区 操作的数字最好用局部变量来装 信息框要在调用标签反馈事件 可用支持库的,也可用精易模块"类_线程池",也可用精易的模块的子程序 严格按照流程来,就不容易崩溃了 以上就是关于多线程应用实例的知识内容,感谢大家对我们的支持.
-
易语言通过get的方式多线程刷微视播放量的代码
全局变量表 .版本 2 .全局变量 skey, 文本型 .全局变量 gtk, 文本型 QQ登陆代码 .版本 2 .支持库 spec .程序集 窗口程序集_窗口1 .子程序 _超文本浏览框1_载入开始 .局部变量 正则, 正则表达式 .局部变量 cookie, 文本型 cookie = 网页_取Cookie ("qq.com", ) 调试输出 (cookie) .如果真 (寻找文本 (cookie, ";skey=", , 假) ≠ -1) 正则.创建 ("
-
易语言实现多线程计算的代码
多线程计算 此功能需要加载精易模块5.6 .版本 2 .支持库 iext .程序集 窗口程序集1 .程序集变量 总线程id, 整数型 .程序集变量 线程判断数量, 整数型 .程序集变量 线程总数, 整数型 .程序集变量 线程id, 整数型 .程序集变量 当前表项, 整数型 .程序集变量 许可证, 整数型 .子程序 __启动窗口_创建完毕 .局部变量 i1, 整数型 .计次循环首 (10000, i1) 置随机数种子 () 超级列表框1.插入表项 (, , , , , ) 超级列表框1.置标题 (
-
解决易语言多线程出错的问题
log_Content 最近在给客户写软件,发现我这边一直没有发现出错的问题,但是客户的软件一运行多线程就出错,一直找不到问题,找了好久才找到解决方法,原来是CPU的问题,多线程对于双核CPU亲和性上有问题,现在找到问题的解决方法,顺便记录一下,或许有朋友遇到同样的问题,可以一起参考. DLL命令: .版本 2 .DLL命令 SetProcessAffinityMask, 整数型, , , 公开, 设置CPU亲和性 进程句柄 返回CPU号 .参数 hProcess, 整数型 .参数 hProce
-
详解易语言启动多线程
用易语言写多线程应用要么使用多线程相关的api,支持库或模块,其实那些支持库或模块也都是封装的api,但是要比api使用方便. 总体来说易语言官方的多线程支持库要比一些杂七杂八的模块好多了. 支持库勾选上之后就可以使用易语言的多线程支持库了. 首先看用易语言多线程支持库创建线程的命令:启动线程: 命令名:启动线程 创建并启动一条线程,可重复使用以创建多条线程,成功返回真,失败返回假. 参数 数据类型 说明 参数<1>的名称为"欲执行的子程序" 子程序指针(SubPtr)
-
详解易语言的程序的输入方法概念
为了便于输入程序,易语言内置四种名称输入法:首拼.全拼.双拼.英文.三种拼音输入法均支持南方音及多音字.首拼输入法及全拼输入法在系统中被合并为"首拼及全拼输入法",系统自动判别所输入的拼音是首拼方式还是全拼方式.双拼输入法的编码规则与 Windows 系统所提供的双拼输入法一致.例如:欲输入"取整 (1.23)"语句,各种输入法的输入文本为: ・ 首拼及全拼输入法: qz(1.23) 或者 quzheng(1.23) ・ 双拼输入法: quvg(1.23) ・ 英文
-
详解易语言线程同步
在易语言官方多线程支持库中提供线程同步的方法是用许可区. 加入许可区之后可以防止多个线程同时访问公用变量是发生冲突.加入许可区的代码同时只能有一个线程访问,避免冲突. 创建许可区: 创建并返回一个进入许可证数值,此许可证值用作进入程序中的指定许可代码区,以避免多线程冲突.成功返回非零整数值,失败返回0.所创建的许可证在不再使用后,必须使用"删除进入许可证"命令将其删除.本命令为初级命令. 删除进入许可证: 删除由"创建进入许可证"命令所创建返回的进入许可证.成功返回
-
详解易语言字符命令
易语言字符命令,这个命令比较少见,但是有用,我教大家操作. 1.易语言新建一个windows窗口 点击进入代码编辑区 具体看如何用易语言编写自己第一个程序? 2.我们输入 这个命令 字符() 3.展开这个字符命令 我们发现只有一个参数 4.这个参数比较少见,字节型它的取值范围为0~255 我们输入100看看 5.运用调试输出这个函数,具体看易语言调试输出函数实例详解 我们输入调试输出 (字符 (100)) 6.结果为 d 这个需要对照 ASCII表看看
-
详解易语言变量用法和原理
易语言是一款可视全中文的编程语言,由于他的简单易用,深受国人喜欢,下面我来为大家介绍易语言变量的用法. 易语言变量,就像是数学中设x一样,顾名思义它是不定值的,它分为局部变量,全局变量,和程序集变量,下面我为用一个程序来向大家介绍这3种变量的区别. 打开易语言,新建一个windows窗口程序,将按钮按下图所示排列. 点击插入,选择窗口,插入一个新的窗口,点击按钮1,写入代码入下图所示, 点击窗口程序集,回车,添加一个程序集变量,命名为c,类型为文本型. 点击插入,分别添加全局变量,命名为q,类型
-
详解易语言写内存整数型
本篇文章主要介绍如何使用编程软件"易语言"做到修改指定进程的指定内存地址中的整数型数据. 1.启动"易语言". 2.选择"菜单栏"中的"f.程序",再在弹出的列表中选择"N.新建". 3.在弹出的标题为"新建:"的窗口中选择"Windows窗口程序",再点击标题为"确定(o)"的按钮. 4.在背景为灰色的,且标题为""(空的文本
-
详解易语言常量用法
易语言常量用法,我用实例讲解,下面一步步操作,大家学懂了,给我投一票,谢谢! 1.易语言新建一个windows窗口点击常量表进入 2.ctrl+N 就会增加一列 如图 3.我们设置常量 分别在相应位置输入数据 如图 4.我们双击 新建的窗口 进入代码编辑区 输入_启动窗口.标题=#常量1 5.这里介绍下 常量的用法 就是常量名前面加上# 看图 这样就把它的值使用了 6.我们运行看看结果 看图 标题改变成了我们设置的常量
-
详解易语言时钟的用法
易语言时钟是易语言的一个基本组件,有时程序很常用,也非常重要. 1.打开易语言 2.新建一个windows窗口程序,把时钟,标签如下图所示放置 3.在2个时钟的属性事件中都选择周期事件 4.添加一个常量,命名为时间,数值为30 5.双击启动窗口,开始编写,写入代码如下图所示 6.点击运行,时钟的功能就展现出来了,时钟的功能主要是倒计时,计时等功能,功能小,功能效果如下面的动态图所示 以上六个步骤就是关于易语言时钟用法的教程,如果还有任何问题大家可以给小编留言,感谢大家对我们的支持.
-
详解易语言导入语言包方法
可能有不少软件作者因为语言包的问题而纠结,因为易语言没自带导入语言包的命令,所以只能用最普通的方式来导入语言包 1.新建一个"易语言"窗口程序 2.然后在桌面创建两个语言配置文件 你可以选择自己喜爱的语言 我在这里创建了英语和中文两个语言配置文件 3.组件有一个按钮 六个标签 两个单选框 标签内容对应语言配置文件 你可以根据自己喜爱更改 我只是举个例子 4.具体代码如下: .版本 2 .支持库 shell .程序集 窗口程序集_启动窗口 .程序集变量 语言, 文本型 .子程序 导入语言
随机推荐
- ajax实例入门代码
- Default style sheet for HTML 4
- ASP.NET数据绑定之GridView控件
- javascript scrollLeft,scrollWidth,clientWidth,offsetWidth 完全详解
- 浏览器窗口滚动加载数据采用异步形式从后台加载数据
- PHP禁止个别IP访问网站
- 一个php作的文本留言本的例子(一)
- fetchAll()与mysql_fetch_array()的区别详解
- php旋转图片90度的方法
- HTML5 js实现拖拉上传文件功能
- nodejs实现bigpipe异步加载页面方案
- jquery实现的弹出层登录和全屏层注册特效代码分享
- 一个仿DOS的Loading效果
- JavaScript实现点击文本自动定位到下拉框选中操作
- Win8.1系统下搭建IIS8.5+PHP5.5.4运行环境教程
- Android编程实现左右滑动切换背景的方法
- 详解spring boot引入外部jar包的坑
- 利用vue和element-ui设置表格内容分页的实例
- 在pandas中一次性删除dataframe的多个列方法
- Linux下截屏并编辑的最佳工具