看流星社区

 找回密码
 注册账号
查看: 58884|回复: 133

[易语言源码] [开源]多线程~高级控制方案 有效解决线程丢失和高CPU占用

  [复制链接]

该用户从未签到

发表于 2013-2-2 08:59:09 | 显示全部楼层 |阅读模式
首先,我们不得不承认,易程序员对编程的结构理念和代码优化方面的能力特别的差,从而横生出易语言BUG以外的BUG! 线程的概念,比如你家搬家,1个人搬要10小时,10个人搬只需1小时吗?显然要超过1小时,因为人一多得先安排谁先谁后谁搬啥不然就得堵,这叫调度...还要受你家走廊、楼道、电梯等的限制...假如来100个人,显然直接就堵死了,搬不了了...

所以不是越多越好。首先要明白多线程的目的,很多时候人们并不是一味的为了执行效率,更多的是为了解决主程序没有反应。如此看来,那么线程的作用显然很明显是为了让硬件资源充分发挥,而不为了突破瓶颈!然而瓶颈,其实是永远突破不了的!再举个例子:假设CPU为4核、内存4G的环境下,就算你开1万个线程去读写硬盘你的CPU也永远不会100%占用,这是因为你的瓶颈在于硬盘响应速度!但是,如果你是用来做数据运算的话,只要量大区区几个线程也会100%CPU占用。再者,如果你的CPU是4核心,而内存只有512MB,哪么不论你开多少个线程做多少运算,CPU永远都不用100%占用,因为这时,关键瓶颈在于内存!!!当我写网络通信时,瓶颈可能就网络延时了。所以,了解瓶颈所在是非常必要的!
  
在C时代,CPU*2+2是多线程控制的经典公式,虽然这个公式如今早已过时,不再通用,但那合理调度的理念却永不过时,依然非常必要……

说了这么多,只想告诉大家,易语言的多线程本身并没有问题,只是你还没有真正的学会怎么管理它!要知道,就算在C++中,你毫无管制的一次性启动数万个线程结果还是一样会100%CPU占用、卡死、丢失线程等!若要绝不出现以上现象,除非你的电脑是超级神机!

易语言入门很容易,至于精通,多数易友还要好加练习……
游客,如果您要查看本帖隐藏内容请回复

该用户从未签到

发表于 2018-5-14 19:31:41 | 显示全部楼层
1111111111111111111111

该用户从未签到

发表于 2018-5-20 20:20:50 | 显示全部楼层
找了好久了

该用户从未签到

发表于 2018-5-25 13:28:43 | 显示全部楼层
666666666666666

该用户从未签到

发表于 2018-6-1 19:04:28 | 显示全部楼层
6666666666666666

该用户从未签到

发表于 2018-6-2 20:16:24 | 显示全部楼层
老哥 看看东西
  • TA的每日心情
    开心
    2020-10-30 17:51
  • 发表于 2018-6-6 20:29:47 | 显示全部楼层
    RE: [开源]多线程~高级控制方案 有效解决线程丢失和高CPU占用 [修改]

    该用户从未签到

    发表于 2018-6-22 12:54:02 | 显示全部楼层
    方案 有效解决线程丢失和

    该用户从未签到

    发表于 2018-6-22 15:56:51 | 显示全部楼层
    学习学习学习学习学习学习学习学习学习学习

    该用户从未签到

    发表于 2018-6-23 14:07:24 | 显示全部楼层
    好东西 正是需要学习的
    点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
    您需要登录后才可以回帖 登录 | 注册账号

    本版积分规则

    小黑屋|手机版|Archiver|看流星社区 |网站地图

    GMT+8, 2024-4-19 03:28

    Powered by Kanliuxing X3.4

    © 2010-2019 kanliuxing.com

    快速回复 返回顶部 返回列表