Java-多线程
一 runnable和thread实现多线程的区别
1.runnable接口需要创建一个实现类来实现,具体步骤如下
2.thread方法只需要继承thread类然后重写run方法
3.实现runnable接口来实现多线程的好处:
更快的实现方法:
二 匿名内部类实现多线程的创建
注:里面的重复改为重写
thread类的匿名实现:
runnable接口的匿名内部类实现方法:
三 线程安全问题的概述(卖票问题)
1.本质:多线程访问的共享数据
2.线程安全问题出现的原因:
重点:创建一个实现类,开启三个线程
3.分析:
4.解决方法
a.同步代码块:
代码展示
同步锁技术的原理:
b.同步方法
具体代码:
在run方法中使用
静态同步方法:
必须使用静态变量
c.Lock锁
具体例子
四 线程状态的概述
1 等待状态唤醒案例分析
讲解(notify是唤醒)
实现:
采用匿名内部类创建顾客和老板对象
五 线程间通信(等待唤醒机制)
1 等待与唤醒机制
六 线程池
方法步骤