计算线程开始: 线程数=线程数+计算线程(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销毁 () 注意:以下调用是错误的!
以上就是关于易语言多线程问题全部的内容,包括:易语言多线程问题、【易语言】关于多线程、易语言 多线程问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)