多线程的优势:
多线程作为一种多任务,并发的工作方式,当然有其存在的优势。
1.线程之间不能共享内存,而线程之间共享内存(堆内存),则很简单。
2.系统创建进程(需要为该进程重新分配系统资源),创建进程则代价小很多,因此实现多任务并发时,多线程效率更高。
3.java语言本身内置多线程功能的支持,而不是单纯的作为底层系统的调度方式从而简化了多线程编程。
多线程下载:可以理解为一个线程就是一个文件的下载通道,多线程也就是同事开启好几个下载通道,当服务器提供下载服务时,
使用下载者是共享带宽的,在优先级相同的情况下,总服务器会对总下载线程进行平均分配。
不难理解,如果你线程多的话,那下载的越快。现流行的下载软件都支持多线程。
多线程是为了同步完成多项任务,不是为了提供程序运行效率,而是通过提高资源使用率来提高系统的效率,所以现在大家买电脑
的时候,也应该看看CPU的线程数。
JAVA操作线程:
创建新执行线程有两种方法。一种方法是将类声明为 Thread 的子类。该子类应重写 Thread 类的 run 方法。接下来可以分配并启动该子类的实例。例如,计算大于某一规定值的质数的线程可以写成:
class PrimeThread extends Thread {long minPrime;PrimeThread(long minPrime) {this.minPrime = minPrime;}public void run() {// compute primes larger than minPrime. . .}}
然后,下列代码会创建并启动一个线程:
PrimeThread p = new PrimeThread(143);p.start();
创建线程的另一种方法是声明实现 Runnable 接口的类。该类然后实现 run 方法。然后可以分配该类的实例,在创建 Thread 时作为一个参数来传递并启动。采用这种风格的同一个例子如下所示:
class PrimeRun implements Runnable {long minPrime;PrimeRun(long minPrime) {this.minPrime = minPrime;}public void run() {// compute primes larger than minPrime. . .}}
然后,下列代码会创建并启动一个线程:
PrimeRun p = new PrimeRun(143);new Thread(p).start();
每个线程都有一个标识名,多个线程可以同名。如果线程创建时没有指定标识名,就会为其生成一个新名称。