关于Thread可能的面试题
一,程序,进程,线程,请分别解释这三个概念和区别
1.程序是静态的,进程,线程是动态的
2.一个程序可以对应多个进程,一个进程可以对应多个线程
3.程序不负责申请系统资源,进程申请系统资源,线程共享进程的全部资源
并发多线程程序的设计:在一个进程中包含多个并发执行的控制流
优点:使系统性能获得很大的提高,具体表现为,快速切换线程,减少系统管理开销,线程通信易于实现。
并发程度提高,节省内存空间等
二,Thread类和Runnable接口的异同
相同点:都是“多线程的实现的方式”,线程的运行都是执行run()方法,线程的启动都是start()方法
不同点: Thread是类,而Runnable是接口;Thread本身是实现了Runnable接口的类
java只支持单继承,而接口可以多实现,因此Runnable接口具有更好的扩展性
Runnable多线程都是基于Runnable对象建立,所以可以共享Runnable对象上的的资源
推荐使用Runnablej接口实现多线程
三,线程的生命周期
不想写了,给个图,自己看书吧!
四,线程池
参数的含义