一个程序可以被划分为多个独立的任务,每个独立的任务可以由线程来驱动执行;
一个进程可以包含若干个线程,即拥有若干个并发执行的任务,在程序运行时,CPU时间被划分成片段分配给所有的线程;
在单处理器的机器上使用多线程可以提高性能的原因在于任务阻塞;
为机器增加处理器可以显著加快使用多线程程序的运行速度;
使用线程机制使程序更加透明、可扩展,代码不需要知道它是运行在单处理器还是多处理器上;
创建线程方式
方式一、创建一个任务类实现Runnable接口,并将其具体对象提交给Thread构造器
创建一个发射类LiftOff实现Runnable接口:
package concurrency; public class LiftOff implements Runnable { protected int countDown = 10; // Default private static int taskCount = 0; private final int id = taskCount++; public LiftOff() { } public LiftOff(int countDown) { this.countDown = countDown; } public String status() { return Thread.currentThread() + "#" + id + "(" + (countDown > 0 ? countDown : "Liftoff!") + "), "; } public void run() { while (countDown-- > 0) { System.out.println(status()); Thread.yield(); } } }