关于Thread可能的面试题


              一,程序,进程,线程,请分别解释这三个概念和区别

                               1.程序是静态的,进程,线程是动态的

                                2.一个程序可以对应多个进程,一个进程可以对应多个线程

                                3.程序不负责申请系统资源,进程申请系统资源,线程共享进程的全部资源

                           


                                并发多线程程序的设计:在一个进程中包含多个并发执行的控制流

                                优点:使系统性能获得很大的提高,具体表现为,快速切换线程,减少系统管理开销,线程通信易于实现。

                                并发程度提高,节省内存空间等





                     二,Thread类和Runnable接口的异同

                                 相同点:都是“多线程的实现的方式”,线程的运行都是执行run()方法,线程的启动都是start()方法

                                 不同点 :   Thread是类,而Runnable是接口;Thread本身是实现了Runnable接口的类
                                               java只支持单继承,而接口可以多实现,因此Runnable接口具有更好的扩展性
                                               Runnable多线程都是基于Runnable对象建立,所以可以共享Runnable对象上的的资源
                                              推荐使用Runnablej接口实现多线程


                    三,线程的生命周期

                                         不想写了,给个图,自己看书吧!
                                           关于Thread可能的面试题_第1张图片





                  四,线程池

                       关于Thread可能的面试题_第2张图片

                  参数的含义

               关于Thread可能的面试题_第3张图片

你可能感兴趣的:(java)