易语言 多线程的进入许可区怎么用?

哎呀,我打开易语言,创建了一个桌面程序,创建了一个界面。
一个选项卡显示运行时间,而另一个选项卡显示计算结果。
还添加了两个按钮,一个是多线程按钮,一个是常规按钮。

您已经编写了一个子例程,该子例程采用整数参数 N、选择 M、使用循环、添加第一个操作并迭代 N 次。
循环完成后,将结果存入标签2
然后我点击多线程按钮,编写代码,写两个“Start Thread()”。
第一个参数是子程序,第二个参数分别写1 0B和5 B,第三个参数为空。

运行它并测试运行时。
因此,多线程操作速度非常快,与普通操作相比节省了大量时间。
当时我很困惑,但后来意识到我可能有点极端。

易语言启动线程()用法

是的,这就是问题所在。
易语言启动线程。
简单来说,就是在不耽误主要任务的情况下,开启一个小助手来工作。

功能描述:就像开了一个小助手。
无论主要任务是什么,助手也可以完成。

使用方法:指定助手要做什么,启动它,它就会自己做。

应用场景:比如主任务需要等待很长时间,让助手先做,主任务可以和其他任务一起完成。

注意:助手之间必须相互协调,不争工作,不打架,不消耗资源。

易语言启动线程()用法

你确定吗?你的描述听起来像教科书一样……和我平时乱搞的不一样。
说一下我的经历:上周有客户问我为什么加了启动线程,但是程序卡住了。
我一看,噢,是直接改变那个线程中的全局变量,没有加任何锁。
这不是乱七八糟吗?你想一想,如果一个线程正在改变,另一个线程突然发生改变,数据肯定会被破坏。
这就是他们所说的线程安全问题。
我告诉他使用易语言的Mutex(互斥锁)或者写一个简单的加锁方法来保证只有一个线程可以同时改变那个变量。

还有一点就是线程结束后资源并没有被清除。
之前一直在做一个下载工具,使用线程来单独下载小文件。
结果,我忘记添加代码来完成线程。
关闭程序后,任务管理器中还有很多剩余进程。
后来,每次运行时,我都必须等待那些旧进程自行退出,这很烦人。
所以当线程使用的时候,一定要记得用最后一个线程函数杀死它,收回所有分配的内存。

你是对的。
启动elbow可以运行读写文件等后台任务,主界面不会卡顿。
但这个“同性能”并不是偶然使用的。
如果没有,程序就会变成一堆互相争斗的线程,最终都失败。
因此,在使用之前应该仔细考虑。
这个函数真的适合在单独的线程中运行吗?公共资源应该受到保护吗?使用后如何清理?一旦了解了这一点,您就可以通过使用线程来减轻压力。