本篇以思维导图结合例子介绍Java多线程相关知识
1 总概括
2 多线程基础
2.1线程周期
3 多线程开发相关
4 多线程其他知识
5 相关问题
5.1 为什么要将Runable接口的子类对象传递给Thread的构造函数?
答:因为自定义的run方法所属的对象时Runable接口的子类对象,所以要让线程去执行指定对象的run方法,就必须明确该run方法所属的对象)。
5.2 wait()和sleep()的区别?
答:
1) sleep来自于Thread,wait来自于Object
2)sleep没有释放锁,wait释放了锁,使得其他线程可以使用同步控制块或者方法
3)wait、notify和notifyAll只能在同步代码块或者同步方法中使用,sleep可以在任何地方使用。
4)sleep必须捕捉异常,而wait不需要
5)sleep和wait有一个共同作用,停止当前线程任务的执行
若觉得图片不够清晰,可点击下载思维导图图片和XMind格式文件
多线程思维导图_下载地址
多线程开发例子包含线程同步、线程死锁、生产者消费者模式等例子,欢迎下载
多线程开发例子_下载地址