Java(等待唤醒机制)

等待唤醒机制

一、概念

多个线程处理同一个资源,但是处理的动作(线程任务)却不同;

二、为什么要处理线程间通信

多线程并发执行时,在默认情况下CPU是随机切换线程的,
当需要多个线程共同完成同一件任务,并且我们希望它有规律的执行
那么多线程之间需要一些协调通信,一次来达到多线程共同操作一份数据;

三什么是等待唤醒机制

是多线程间的一种协作机制

等待唤醒中的方法

1、wait():线程不再活动,不再参与调度,进入wait set中,因此不会浪费CPU资源,不会竞争锁,
    它还要等别的线程执行一个特别的动作(notify),在这个对象上等待的线程从wait set 中释放出来,重新进入到调度队列(ready queue)中
2、notify:则选取通知对象的wait set 中的一个线程释放
3、notifyAll:则释放锁通知对象的wait set上的全部线程
posted @ 2021-03-11 22:12  一名初学者  阅读(122)  评论(0)    收藏  举报