• 欢迎访问 优知学院 请加入我们的架构交流分享群优知学院-架构师进阶
  • 坚持原创分享BAT面试+架构+CTO进阶干货!

最全多线程经典面试题和答案

Java实现线程有哪几种方式?

1、继承Thread类实现多线程
2、实现Runnable接口方式实现多线程
3、使用ExecutorService、Callable、Future实现有返回结果的多线程


多线程同步有哪几种方法?


Synchronized关键字,Lock锁实现,分布式锁等。

Runnable和Thread用哪个好?

Java不支持类的多重继承,但允许你实现多个接口。所以如果你要继承其他类,也为了减少类之间的耦合性,Runnable会更好。


Java中notify和notifyAll有什么区别?

notify()方法不能唤醒某个具体的线程,所以只有一个线程在等待的时候它才有用武之地。而notifyAll()唤醒所有线程并允许他们争夺锁确保了至少有一个线程能继续运行。