亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

高并發編程-08-Lock

標簽:
Java

1,回顾

到目前,我们讲了3个跟多个线程操作一个资源的技术点,主要涉及以下几个点:

synchronized:原子性,重量级锁

volatile:可见性,不保证原子性

采用JDK提供的原子类

2,Lock

在JDK1.5后,为我们提供了Lock接口

主要有三个特点

1,明确加锁和解锁

lock(),unlock()

public class LockTest {

    private Lock lock = new ReentrantLock();

    public void lockTest(){

        try{

            lock.lock();

            System.out.println("do something...");

        }finally{

            lock.unlock();

        }

    }

}

2,可以尝试访问锁

tryLock()

3,可以构建公平锁,解决我们之前说的饥饿问题,实现公平性

采用Lock的实现类ReentrantLock可以构建公平锁

Lock lock = new ReentrantLock(true);//true就是为公平锁 fair

思考题:

如何实现一个自己的Lock?以及实现可重入?


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消