方式二:同步方法
1.同步方法仍然涉及同步监视器 不需要显式声明
2.非静态的同步方法 同步监视器:this
静态同步方法 同步监视器:当前类本身
线程死锁问题
死锁:不同线程分别占用对方需要同步资源不放弃 都等待对方放弃自己需要的同步资源
不会出现异常 不会出现提示 使用线程处于阻塞 无法继续
方式三:同步锁Lock
1.实例化Lock
2.调用lock
3.调用解锁方法
线程的通信
涉及到的三个方法:
wait():一旦执行此方法 当前线程就进入阻塞状态
释放同步监视器
notify():一旦执行此方法 就会唤醒被wait的一个线程
如果有多个线程被wait 则唤醒有现金高的那个
notifyAll():一旦执行此方法 就会唤醒所有被wait的线程
Java 多线程(二)
最新推荐文章于 2024-05-24 02:08:26 发布