程序与进程
程序:一段静态的代码。
进程:程序的一次动态执行过程,他对应从代码加载、执行到执行完毕的一个完整过程。
进程与线程
在一个程序内部也可以实现多个任务并发执行,其中每个任务称为线程。
线程是比进程更小的执行单位,他是在一个进程中独立的控制流,即程序内部的控制流。
开启多线程的优缺点
提高街面程序响应速度。将需要大量时间完成的流程在后台启动单独的线程完成。充分利用CPU等系统资源资源,同时执行多个进程,提高效率。当程序中的线程数量比较多时,系统将花大量的时间进行线程的切换,反而会降低程序的执行效率。但是,相对于优势来说,劣势还是有限的,多线程依然很受青睐。
三种实现多线程的方式:继承Thread类,实现Runnable接口,使用Timer和TimerTask组合
注意:现成的特性具有随机性,系统在执行多线程程序时只保证线程是交替执行的,无法保证先后顺序,需要书写专门的代码才可以保证执行的顺序。
实现Runable接口
多线程对象实现java.lang.Runnable接口并且在该类中重写Runnable接口的run方法。
好处:实现Runnable接口的方法避免了单继承的局限性
多线程的实现举例:
//首先,创建类的时候继承接口Thread,Runnable,TimeTask
Public class ?? implements Thread{
Public void main(String[] args){
? ? test =new ? ?();
Thread td=new Tread(test);
//线程开始
td.start();
}
//继承多线程接口需要重写run()方法
Public void run(){
try { //睡眠时间,腾出cpu空间,执行其他线程
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}