日常_JAVA_面试宝典多线程1(含答案)

Source

往期文章
 第一章:日常_JAVA_面试题集3(含答案)
 第二章:日常_JAVA_面试题集6(含答案)
 第三章:日常_JAVA_面试题集7(含答案)
 第四章:日常_JAVA_面试题集8(含答案)
 第四章:日常_JAVA_面试题集9(含答案)
 往期文章大全……



前言

作为一个真正的程序员,首先应该尊重编程,热爱你所写下的程序,他是你的伙伴,而不是工具。
在这里插入图片描述

——王文峯


提示:以下是本篇文章正文内容

1.进程与线程的区别?

答:进程是所有线程的集合,每一个线程是进程中的一条执行路径,线程只是一条执行路径。

2.为什么要用多线程?

答:提高程序效率

3.多线程创建方式?

答:继承Thread或Runnable 接口。
是继承Thread类好还是实现Runnable接口好?
答:Runnable接口好,因为实现了接口还可以继续继承。继承Thread类不能再继承。

4.你在哪里用到了多线程?

答:主要能体现到多线程提高程序效率。
举例:分批发送短信、迅雷多线程下载等。

5.什么是多线程安全?

答:当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题。做读操作是不会发生数据冲突问题。

6.如何解决多线程之间线程安全问题?

答:使用多线程之间同步或使用锁(lock)。
为什么使用线程同步或使用锁能解决线程安全问题呢?
答:将可能会发生数据冲突问题(线程不安全问题),只能让当前一个线程进行执行。被包裹的代码执行完成后释放锁,让后才能让其他线程进行执行。这样的话就可以解决线程不安全问题。

7.什么是多线程之间同步?

答:当多个线程共享同一个资源,不会受到其他线程的干扰。

8.什么是同步代码块?

#答:就是将可能会发生线程安全问题的代码,给包括起来。只能让当前一个线程进行执行,被包裹的代码执行完成之后才能释放所,让后才能让其他线程进行执行。

总结

以上就是今天的内容,本文仅仅简单介绍了几个多线程面试题,关注我,每天五道面试题。