java多线程面试题汇总

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java多线程面试题汇总相关的知识,希望对你有一定的参考价值。

资源来源:http://www.importnew.com/12773.html

1.线程是什么?

  线程被包含在进程之中,是进程中的实际运行单位,是操作系统中可以进行运算调度的最小单位。

2.进程是什么?

  进程是是一个执行中的程序,是cpu资源分配的最小单位(线程是cpu调度的最小单位),进程中的线程共享进程的上下文环境。

3.线程和进程的区别?

  每个进程使用不同的内存空间,而进程内的所有线程共享一片相同的内存空间。4.Thread类的run()和start()方法的区别?

  threadDemo.run()跟普通的调用方法是一样的,程序会按顺序执行,等run方法执行结束之后,才可以继续往下执行下面的代码。

  通过threadDemo.start()来启动一个线程,真正的实现了多线程,不用等到run()方法题结束就可以继续执行下面的代码。通过调用Thread类的start()方法来启动一个线程, 这时此线程是处于就绪状态, 并没有运行。 然后通过此Thread类调用方法run()来完成其运行操作的, 这里方法run()称为线程体,它包含了要执行的这个线程的内容, Run方法运行结束, 此线程终止。然后CPU再调度其它线程。

5.Runnable比Thread具有的优势

  1.适合实现资源共享

  2.可以避免java中的单继承问题

  3.增加程序的健壮性,代码可以被多个程序共享,代码和数据独立。

6.Runnable和Callable的区别?

  Callable是jdk1.5之后出现的,Callable可以返回值和抛出异常,但是Runnable不可以。

以上是关于java多线程面试题汇总的主要内容,如果未能解决你的问题,请参考以下文章

java多线程面试题汇总

多线程笔试面试题汇总

四年Java面试遇到的问题整理,Java面试题汇总

抢先准备,40个 Java 多线程面试题及答案大汇总!

2020最常见的200+Java面试题汇总(含答案解析)

2019年高级Java程序员面试题汇总