易语言多线程怎么理解?

哎呀,说到话题,得从我十年前第一次开始逛问答论坛说起。
当时我正在编写程序,尤其是必须处理许多任务的应用程序,例如网络爬虫。
阅读、判断和重复网站的努力简直要了我的命。
当时,我不明白一个简单的命令如何导致线程崩溃或进程出现死亡。

后来慢慢学会了多线程。
这就像在程序中打开一个小炉子,让多个线程同时工作,这样就不会因为一个任务卡住而导致整个程序瘫痪。
老实说,使用多线程后,崩溃和暂停动画实际上减少了很多。

当时我使用的编程语言是易语言。
这种语言相当容易使用,但是使用多线程的方法还是有点棘手。
我记得曾经在论坛上看到过一个帖子,说可以通过“启动线程(和子例程)”来启动易语言的线程。
当时看到的时候心里就明白了,这个“&子程序”指的是子程序1 ,里面可以写需要多线程执行的任务。

例如,我写了一个网络爬虫,它有一个子例程1 ,负责读取网页内容。
我在主程序中调用这个子程序,让它作为一个线程独立运行。
即使阅读网页比较耗时,也不影响主程序的运行。

但是说实话,多线程并不一定能让你的程序运行得更快。
当线程过多时,有时会因为线程之间的切换和同步而降低效率。
这个原则就像你家里有几个孩子一样适用。
尽管您可以同时做很多事情,但管理它们却很乏味。
有时它不如孩子专注于它们时那么有效。

总之,多线程是个好东西,但用得好不好还要看情况。
这时候我慢慢的研究和学习了如何正确的使用Yi语言的多线程。
现在回想起来,那段时光真的很有趣。

易语言多线程怎么理解?

嘿,你问我什么是多线程?好的,我和你聊聊。

就在上周,一位客户问我有关开发小程序的问题。
他无法理解单线程和多线程之间的区别。
我给他举了一个例子。

想象一下,您正在开一家只有您自己的餐厅。
您必须独自完成顾客的所有订单、烹饪和付款。
如果顾客等得不耐烦,或者你切菜慢了,整个餐厅就都空了不是吗?它是单线程的,程序冻结并且无能为力。

后来你走红了,雇了两个人。
一个专门接单收钱,一个专门做饭。
当顾客接单时,厨师可以继续工作,餐厅也不能闲着。
这就是多线程。
如果一个线程挂起,其他线程仍然可以运行。

但是,尽管如此,更多的多线程并不总是更好。
例如,你雇了1 0个人,但他们都无所事事,盲目地互相发号施令,可能还不如一个人单独工作有效。
因此,多线程使用得如何,还要根据具体情况而定。

以您提到的 I 语言为例。
“运行线程(和子例程)”的语法听起来很简单。
您将要做的事情编写为“例程”,然后调用该函数来启动一个新线程。

我曾经尝试用彝语制作一个小游戏。
例如,一个例程负责绘制背景,另一个例程负责处理玩家输入。
这样,当玩家按下键盘时,屏幕可以继续刷新,而不会导致游戏卡顿。

最明显的好处就是你说的:对于处理网络请求、读写文件等特别有用。
想一想:当你请求一个网页时,你必须等待服务器返回数据,对吧?这时候你的程序就被冻结了,用户必须等待。
如果使用多线程,当这个线程等待数据时,其他线程可以做其他事情,比如响应用户点击。

但是!多线程也有陷阱石头。
就像在餐馆里,两个人工作时,如果拿了同一个菜板,或者一个人使用了另一个人没有归还的工具,就很容易出现麻烦。
在编程中也是如此。
有必要了解线程同步和数据争用,否则程序会变得一团糟。

所以,使用多线程固然好,但你需要知道如何使用它。
你需要知道如何让线程良好地通信而不是随意改变数据。
否则,线程越多,就越容易出现问题。
无论如何,这取决于你,想用就用,但需要仔细权衡。