易语言多线程问题

易语言多线程问题,第1张

计算线程开始: 线程数=线程数+计算线程(1)

计算线程结束: 线程数= 线程数- 计算线程(1)

因为计算线程占着一个线程,保持在计算线程的开始和结尾,才能同步。

因为主线程是无法判断其他线程是否已经结束,

但是主线程知道它什么时候开始!

计次循环就可以了

列子

版本 2

支持库 EThread

子程序 _按钮1_被单击

局部变量 计次, 整数

计次循环首 (到整数 (编辑框1内容), 计次)

启动线程 (&子程序2, , 0)

计次循环尾 ()

版本 2

支持库 iext

支持库 EThread

支持库 spec子程序 __启动窗口_创建完毕

局部变量 记录次数, 整数型

局部变量 索引, 整数型计次循环首 (6, 记录次数)

索引 = 超级列表框1插入表项 (, , , , , )

超级列表框1置标题 (索引, 0, 到文本 (记录次数 - 1))计次循环尾 ()子程序 _按钮1_被单击

局部变量 次数, 整数型计次循环首 (3, 次数)

启动线程 (&子程序1, 次数, )

计次循环尾 ()子程序 子程序1

参数 次数, 整数型

局部变量 记录次数, 整数型计次循环首 (100, 记录次数)

超级列表框1置标题 (次数, 1, 到文本 (记录次数) + “%”)

延迟 (1000)

计次循环尾 ()

给你一个例程希望你可以看明白。注意的几个地方,首先需要注意 启动线程 命令有一个 参数数据,这个是给子程序传输参数的,这个比较灵活,可以作为子程序线程的编号等,如果用到这个参数,子程序需要拟定一个参数接受数据。

版本 2

支持库 EThread

支持库 spec

程序集 窗口程序集1

程序集变量 线程句柄, 整数型

子程序 _编辑框1_按下某键, 逻辑型

参数 键代码, 整数型

参数 功能键状态, 整数型

如果真 (键代码 = #回车键)

强制结束线程 (线程句柄)

编辑框2内容 = 编辑框1内容

启动线程 (&线程循环, , 线程句柄)

如果真结束

子程序 线程循环

判断循环首 (编辑框1内容 ≠ “”)

编辑框2内容 = 到文本 (到整数 (编辑框2内容) + 1)

延迟 (1000)

判断循环尾 ()

补充回答:声音卡是因为CPU占用过高,你打开任务管理器看看是什么程序占那么高的CPU,如果是你编写的播放器程序,你就要考虑怎样降低CPU使用率,比如线程太多,循环频率太高等等。

在易语言中使用的技巧介绍给大家,希望大家喜欢。不知大家试了没有,在易语言自带多线程的使用中,会发现一些不稳定的现象,如:程序运行不稳定、退出程序时报错、有死机现象、多线程中不能直接销毁组件等。例如运行以下代码,程序会自动退出。 子程序 _按钮1_被单击 启动线程 (&多线程子程序, ) 子程序 多线程子程序 按钮1销毁 () ' 直接用就是不行哦! 现在,大家可以改变一下调用多线程的方式,用标签的反馈事件执行多线程子程序, 绝大部分不稳定问题都可以解决了。 具体执行代码要写在标签反馈事件中,多线程中再用标签的“调用反馈事件”去调用。易语言对这个标签组件的反馈事件做过特殊处理。 上述代码可写为以下,运行就可以通过了: 子程序 _按钮1_被单击 启动线程 (&多线程子程序, ) 子程序 多线程子程序 标签1调用反馈事件 (0, 0, 假) 子程序 _标签1_反馈事件, 整数型 参数 参数一, 整数型 参数 参数二, 整数型 按钮1销毁 () 注意:以下调用是错误的!

以上就是关于易语言多线程问题全部的内容,包括:易语言多线程问题、【易语言】关于多线程、易语言 多线程问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9308080.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存