带你玩转超级列表框 19 表情包批量下载之多线程许可证原则

avatar 2017年6月6日20:27:17 评论 1,446

这节课我们来讲一讲超级列表框与多线程结合之后的神奇应用。有了多线程的加入,你会发现你是多么的节省时间,世界是多么的美好!涉及多线程的这几节课的内容非常的精彩,请认真听讲!


多线程四大金刚

掌握这四个你就基本可以用多线程了!

多线程介绍:

多线程是一门很有趣的技术,通过在同一个进程内(也就是同一个软件内)多开几个线程的办法,实现多个线程分别完成自己的工作,达到提高运行效率和速度的办法。

上节课我们已经完成的表情包批量下载器,很明显的存在一个解析速度较慢,下载速度较慢的问题。

虽然我们已经是新开了个线程来进行解析和下载,但是那样的目的是为了不卡界面而已,实际上,我们依然在使用单个线程来完成工作,因此我们需要对单线程的代码进行改写,改成多线程运行的模式,这样我们在运行的时候,本来一个人干的活,变成了多个人一起干活,充分利用系统资源,这样我们的效率自然就呈几何倍数增长了。

这个部分,我们先来介绍一些多线程最常用的四大金刚,掌握它们,一般来讲大部分多线程你已经不在话下了。

第一大金刚:线程启动:该命令可以指定一个子程序作为新线程启动要运行的代码,是我们最常用的线程命令。

第二大金刚:线程销毁:该命令需要传入一个线程启动获取到的该线程的句柄,传入后可以让该线程立即销毁(也就是停止)。在你需要编写停止线程功能时使用,一般可以不用。

第三大金刚:创建进入许可证:创建一个许可证(临界区),配合“进入许可区”与“退出许可区”使用,可以在访问某些公共资源(程序集变量,全局变量,某些界面组件)时变成单独独享访问,避免程序崩溃。许可区就像一个锁着小房间,使用了临界区钥匙之后同一时间只允许一个人进去,这个人在里面办完事之后钥匙才能归还,才能让下一个人进去。

第四大金刚:删除进入许可证:与创建进入许可证配合使用,在窗口销毁时或者主线程运行结束时删除即可。


许可证使用原则

  1. 多个线程对共享资源进行写操作,必须加许可。
  2. 多个线程对共享资源进行读操作,而没有写操作,则无需加许可。
  3. 多个线程对共享资源同时有读写操作,写的时候必须加许可,读的时候,视情况而定加许可。

对于超级列表框:

超级列表框是一个在某些情况下支持多线程读写而不会崩溃的组件,很神奇。

1.表项数量有变化的操作(如插入删除表项)必须加许可证。

2.表项数量不变的操作(给表项置标题,取标题)无需加许可证。

3.可以多线程对多个已经插入的表项进行置标题和取标题操作。

4.列数量会变化也需要加许可证。


课后作业

然鹅,这节课并没有什么作业。。。

给大家休息下吧!


下节课我们就开始改写我们的代码吧!

下节课我们将讲解如何将解析单线程改成多线程。

 

 

以下是我们的视频教程:

在线观看:

 

 

高清源文件下载:

内容已经隐藏,请注册为本站会员后查看

 

 

 

感谢大家的收看,我们下期再见!

avatar

发表评论

您必须才能发表评论!