多线程
9.1 进程与线程
进程是程序的一次动态执行过程,从代码加载,执行到执行完毕的完整过程。
多线程是实现并发机制的一种有效手段。
多线程是指一个进程在执行过程中可产生多个更小的程序单元(线程),这些线程可同时存在,同时运行,而一个进程可能包括多个同时执行的线程。
9.2 Java中线程的实现
继承Thread类
class 类名称 extends Thread{
属性...;
方法...;
public void run(){
线程主体
}
}
为什么启动线程不能直接使用run()方法?
答:线程的运行需要本机操作系统支持
哪个线程对象抢到了CPU资源,哪个线程就先可以运行。
只可调用一次start()
调用多次抛出“IllegalThreadStateException”
实现Runnable接口
class 类名称 implements Runnable{
属性...;
方法...;
public void run(){
线程主体;
}
}
Thread a=new Thread(Runnable target);
Thread b=new Thread(Runnable target, String name);//name:该线程的名字
Thread类是Runnable接口的子类。
通过Thread类实现多线程必须覆写run()方法。
Runnable比Thread类显著优势
- 适合多个相同程序代码的线程去处理同一资源的情况。
- 可以避免由于Java的单继承特性所带来的局限。
- 增加了程序的健壮性,