并发编程三大原则之初识synchronized

并发编程三大原则-CSDN博客

继上篇并发编程三大原则之后:

我们来分别看看,到底是如何保证的,java是如何做到原子性的。

试想一下这样一个场景,我想吃一个苹果,那么如果保证我吃苹果的时候,不被人打扰,要是我的话,我肯定是跑到一个没有人的地方偷偷的吃完再回来,那么还有什么其他的方式吗,想一想其实就知道了,直接拿着苹果,把自己锁在房间里面,吃完了再出来,这样别人就不会惦记了吧。恭喜你只要你没有把苹果吃完,别人是不会打扰到你的,因为你已经把房间给上了一把锁,在你没有释放这把锁的时候,别人压根就用不了。

没有错我想 java 工程师在设计 java 中锁的时候,是不是也是正在吃苹果呢?。。。。。。

那么我们现实中的锁是什么,有金属的,有木头的,还有塑料的,等等,那么我们锁是用在什么上面的呢,一般情况下锁都是用在门上面,不要抬扛哈。只考虑一般情况。

那么 java 中锁又是什么样子的呢?

又是用在什么上面的呢?

java 是一个面向对象的编程语言,那么在 java 中,一切对象都可以是一把锁。一切对象,一切对象,对你没有听错就是一切对象。

那么锁有了,我要怎么用起来呢,那么这里面就不得不提到我们 java 中,大名鼎鼎的一个关键字

synchronized

名气太大,单独放一行,就为了这个关键字,java 工程师,那些大胡子哥,也是费了老劲了,一直在做优化。

那么现在大家知道了吗。

锁就是用在这个上面的,那么我们看一下代码。这个关键字可以用在不同的两个地方:

1,修饰代码块。

2,修饰方法。

上代码

public class Demo {
    static Object lock = new Object();

    public static void main(String[] args) {
        // 这个是修饰的代码块
        synchronized (lock) {

        }
    }

    // 这个是修饰方法
    public static synchronized void test() {

    }
}

那么我们用上面吃苹果的列子先看一下这个代码:


今天先简单的理解一下 synchronized 这个关键字是干嘛后面再慢慢的升入。一点一点才能好吸收,不能一口吃个胖子,希望这样能好理解。

  • 12
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值