2020年Java多线程与并发系列22道高频面试题(附思维导图和答案解析)
前言 现在不管是大公司还是小公司,去面试都会问到多线程与并发编程的知识,大家面试的时候这方面的知识一定要提前做好储备。 关于多线程与并发的知识总结了一个思维导图,分享给大家 1、Java中实现多线程有几种方法 (1)继承Thread类; (2)实现Runnable接口; (3)实现Callable接口通过FutureTask包装器来创建Thread线程; (4)使用ExecutorService、Callable、Future实现有返回结果的多线程(也就是使用了ExecutorService来管理前面的三种方式)。 2、如何停止一个正在运行的线程 (1)使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。 (2)使用stop方法强行终止,但是不推荐这个方法,因为stop和suspend及resume一样都是过期作废的方法。 (3)使用interrupt方法中断线程。 class MyThread extends Thread { volatile Boolean stop = false; public void run () { while (!stop) { System.out.println(getName() + " is running"); try { sleep( 1000); } catch (InterruptedException e) {