线程调度

  计算机通常只有一个 CPU 时,在任意时刻只能执行一条计算机语言,每一个进程只有获得 CPU 的使用权才能执行指令。
  所谓多进程运行,在宏观上看,其实就是各个进程轮流获得 CPU 的使用权,分别执行各自的任务。
  那么,在运行吃中,会有多个线程处于就绪状态等到 CPU,JVM 就负责了线程的调度。
  JVM 采用的是抢占式调度,没有采用分时调度,因此可能造成多线程执行结果的随机性。

多线程优势(多任务,并发的工作方式)

①线程之间不能共享内存,而线程之间共享内存(堆内存)则很简单。
②系统创建进程时需要为该进程重新分配系统资源,创建进程则代价小很多,因此实现多任务并发时,多线程效率更改。
③Java语言本身内置多线程功能的支持,而不是单纯地作为底层系统的调度方式,从而简化了多线程编程。

  多线程下载:可以理解为一个线程就是一个文件的下载通道,多线程也就是同时开起好几个通道。当服务器提供下载服务时,使用下载者是共享贷款的,在优先级相同的情况下,总服务器会对总下载线程进行平均分配。

即:线程越多,下载越快。

  多线程是为了同步完成多项任务,不是为了提供程序运行效率,而是通过提高资源使用率来提高系统的效率。

宽带带宽

  宽带带宽是以为(bit)计算,而下载速度是以字节(Byte)计算,1字节(Byte)等于8位(bit)。所以 1024kb/s 是代表上网带宽为1024千位(1M)。而下载速度需要1024千位/秒(1024kb/s)带宽除以8,得出128千字节/秒(128kb/s)。