原创 

java小代码:ReentrantLock的等待通知 signal、await

分类:    412人阅读    IT小君  2018-02-28 08:24

源码地址:https://github.com/qxwei/MultiThread

package mutilThreadDemo;

import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.ReentrantLock;

public class App1 {
    public static void main(String[] args){
        try {
            WaitService service = new WaitService();
            WaitThread th = new WaitThread(service);
            th.start();
            Thread.sleep(5);
            service.testSignal();
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

class WaitThread extends Thread{
   private WaitService service;
   public WaitThread(WaitService service){
       this.service = service;
   }
   public void run(){
       service.testWait();
   }
}

class WaitService{
    private ReentrantLock lock = new ReentrantLock();
    public Condition condition = lock.newCondition();
    public void testWait() {

        try {
            lock.lock();
            for (int i = 0; i <= 100; i++) {
                if (i == 13) {
                    System.out.println("进入等待:"+System.currentTimeMillis());
                    condition.await();
                }
                if (i == 13) {
                    System.out.println("等待结束:"+System.currentTimeMillis());
                }
                System.out.println("打印值:" + i);
            }
        }catch (Exception ex){
            ex.printStackTrace();
        }finally {
            lock.unlock();
        }
    }

    public void testSignal() {
        try {
            lock.lock();
            System.out.println("通知唤醒:"+System.currentTimeMillis());
            condition.signal();
            System.out.println("通知唤醒完成:"+System.currentTimeMillis());
        }catch (Exception ex){
            ex.printStackTrace();
        }finally {
            lock.unlock();
        }

    }
}
点击广告,支持我们为你提供更好的服务

有机水果蔬菜HTML5网站模板

css鼠标跟随文字模糊特效

html5 canvas彩色碎片组合球形旋转动画特效

html5 svg夜空中星星流星动画场景特效

响应式时尚单品在线商城网站模板

HTML5 Canvas竖直流动线条背景动画特效

HTML5数字产品服务公司网站模板

html5 canvas进度条圆环图表统计动画特效

网页设计开发公司网站模板

html5图标下拉搜索框自动匹配代码

jQuery右端悬浮带返回顶部特效

响应式咖啡饮品宣传网站模板

中小型创意设计服务公司网站模板

canvas炫酷鼠标移动文字粒子特效

css+js实现的颜色渐变数字时钟动画特效

现代时尚家具公司网站模板

小众时尚单品在线电子商务网站模板

响应式太阳能能源公司网站模板

HTML5现代家居装潢公司网站模板

js+css3抽奖转盘旋转点餐代码

点击广告,支持我们为你提供更好的服务
 工具推荐 更多»
点击广告,支持我们为你提供更好的服务