Loading... 这节课我们来讲一讲超级列表框与多线程结合之后的神奇应用。有了多线程的加入,你会发现你是多么的节省时间,世界是多么的美好!涉及多线程的这几节课的内容非常的精彩,请认真听讲! --- **多线程四大金刚** 掌握这四个你就基本可以用多线程了! **多线程介绍:** 多线程是一门很有趣的技术,通过在同一个进程内(也就是同一个软件内)多开几个线程的办法,实现多个线程分别完成自己的工作,达到提高运行效率和速度的办法。 上节课我们已经完成的表情包批量下载器,很明显的存在一个解析速度较慢,下载速度较慢的问题。 虽然我们已经是新开了个线程来进行解析和下载,但是那样的目的是为了不卡界面而已,实际上,我们依然在使用单个线程来完成工作,因此我们需要对单线程的代码进行改写,改成多线程运行的模式,这样我们在运行的时候,本来一个人干的活,变成了多个人一起干活,充分利用系统资源,这样我们的效率自然就呈几何倍数增长了。 这个部分,我们先来介绍一些多线程最常用的四大金刚,掌握它们,一般来讲大部分多线程你已经不在话下了。 **第一大金刚:** 线程启动:该命令可以指定一个子程序作为新线程启动要运行的代码,是我们最常用的线程命令。 **第二大金刚:** 线程销毁:该命令需要传入一个线程启动获取到的该线程的句柄,传入后可以让该线程立即销毁(也就是停止)。在你需要编写停止线程功能时使用,一般可以不用。 **第三大金刚:** 创建进入许可证:创建一个许可证(临界区),配合“进入许可区”与“退出许可区”使用,可以在访问某些公共资源(程序集变量,全局变量,某些界面组件)时变成单独独享访问,避免程序崩溃。许可区就像一个锁着小房间,使用了临界区钥匙之后同一时间只允许一个人进去,这个人在里面办完事之后钥匙才能归还,才能让下一个人进去。 **第四大金刚:** 删除进入许可证:与创建进入许可证配合使用,在窗口销毁时或者主线程运行结束时删除即可。 --- **许可证使用原则** 1. 多个线程对共享资源进行写操作,必须加许可。 2. 多个线程对共享资源进行读操作,而没有写操作,则无需加许可。 3. 多个线程对共享资源同时有读写操作,写的时候必须加许可,读的时候,视情况而定加许可。 **对于超级列表框:** 超级列表框是一个在某些情况下支持多线程读写而不会崩溃的组件,很神奇。 1. 表项数量有变化的操作(如插入删除表项)必须加许可证。 2. 表项数量不变的操作(给表项置标题,取标题)无需加许可证。 3. 可以多线程对多个已经插入的表项进行置标题和取标题操作。 4. 列数量会变化也需要加许可证。 --- **课后作业** 然鹅,这节课并没有什么作业。。。 给大家休息下吧! --- **下节课我们就开始改写我们的代码吧!** 下节课我们将讲解如何将解析单线程改成多线程。 以下是我们的视频教程: **在线观看:** http://v.youku.com/v_show/id_XMjgwNDM2ODY1Mg==.html **高清源文件下载:** <div class="hideContent">该部分仅登录用户可见</div> 感谢大家的收看,我们下期再见! 最后修改:2021 年 08 月 09 日 © 允许规范转载 赞 赠人玫瑰,手留余香