思考并回答以下问题:
进程、线程、协程
进程:
1、任何一个exe都是一个进程,有独立的用户空间,不能被其他的进程调用。
2、进程之间通过udo通信。
线程:
可理解成while(true)循环1
2
3
4while(true)
{
sleep(0.5); // 休息的时候执行其他的线程
}
最大速度的并发:Cpu核数 * 2
协程:
WWW类的功能
1、通过http或https协议,发起get或post请求;
2、加载本地文件。
资源的更新流程:
- 1、对比版本;
- 2、服务器会告诉客户端有多少个zip;
- 3、客户端下载,解压到本地;
- 4、程序去加载。
封装成迅雷这样的,下载地址往里一丢就自动处理下载,下载后弹出一个消息出来。
找到任务相同点,抽象出父类:
- 1、都可以用www可以下载(协程)。
- 2、下载完成,通知上层逻辑。
- 3、下载失败,重新下载。
抽象下载器:
- 1、无限的添加下载。
- 2、队列里面主要有任务,就应该去下载。没有任务就不启动。
WWWItem.cs 父类
1 | using System.Collections; |
WWWHelper.cs 无限下载器
1 | using System.Collections; |
WWWTxt.cs 专门下载txt
1 | using System.Collections; |
UseWWWHelper.cs 客户端
1 | using System.Collections; |