美文网首页
1.3 synchronize关键字: 对非静态方法加锁

1.3 synchronize关键字: 对非静态方法加锁

作者: 殊胜因缘_Chris | 来源:发表于2019-03-02 22:00 被阅读0次
/**
 * This is description.
 * synchronize关键字: 对非静态方法加锁.
 * @author Chris Lee
 * @date 2019/2/28 23:46
 */
public class Demo {
    private int count = 10;

    /**
     * synchronized: 此时相当于用synchronized(this)将fun(){...}中所有代码加锁.
     */
    public synchronized void fun(int i) {
        count--;
        System.out.println("第" + (i + 1) + "打印输出: " + Thread.currentThread().getName() + ", count = " + count);
    }

    public static void main(String[] args){
        Demo demo = new Demo();
        for (int i = 0; i < 5; i++) {
            demo.fun(i);
        }
        /*
            第1打印输出: main, count = 9
            第2打印输出: main, count = 8
            第3打印输出: main, count = 7
            第4打印输出: main, count = 6
            第5打印输出: main, count = 5
         */
    }
}
说明:
  • 本篇文章如有不正确或待改进的地方, 欢迎批评和指正, 大家一同进步, 谢谢!
  • 世上有4样东西可以让世界变得更美好, 它们是: 代码(Code), 诗(Poem), 音乐(Music), 爱(Love). 如有兴趣了解更多, 欢迎光顾"我的文集"相关文章.
资料:
  1. 学习视频: https://www.bilibili.com/video/av11076511/?p=1
  2. 参考代码: https://github.com/EduMoral/edu/tree/master/concurrent/src/yxxy
  3. 我的代码: https://github.com/ChrisLeejing/learn_concurrency.git

相关文章

  • 1.3 synchronize关键字: 对非静态方法加锁

    说明: 本篇文章如有不正确或待改进的地方, 欢迎批评和指正, 大家一同进步, 谢谢! 世上有4样东西可以让世界变得...

  • 1.4 synchronize关键字: 对静态方法加锁

    说明: 本篇文章如有不正确或待改进的地方, 欢迎批评和指正, 大家一同进步, 谢谢! 世上有4样东西可以让世界变得...

  • 静态方法加锁,和非静态方法加锁区别

    面试的时候说道了单例,又扯到了加锁等。后来面试官问了问静态方法加锁和非静态方法加锁的区别。结果尴尬了,还是自己没有...

  • 1.2 synchronize关键字: 对this对象加锁

    说明: 本篇文章如有不正确或待改进的地方, 欢迎批评和指正, 大家一同进步, 谢谢! 世上有4样东西可以让世界变得...

  • Java基础-线程-锁

    锁的表示 Java里的锁,主要都是对对象进行加锁,如普通的synchronized非静态方法,就是对当前执行方法的...

  • java类锁和对象锁

    java对象锁有两种:对象锁、类锁。 对象锁:在非静态方法上加锁。声明了一个对象锁。类锁:在静态方法上加锁,声明了...

  • 给静态方法加锁锁的是类

    给静态方法加锁 效果: 给普通方法加锁 效果:

  • Dart7(七)静态成员 操作符

    一、静态成员 1、使用static关键字来识现类级别的变量和函数2、静态方法不能访问非静态成员,非静态方法可以访问...

  • Dart中的静态成员

    1.使用static 关键字来实现类级别的变量和函数 2.静态方法不能访问非静态成员,非静态方法可以访问静态成员

  • 锁相关的问题

    关于synchronized 关键字 三种加锁方式分别是 方法、代码块和静态方法,加在方法上时相当于synchro...

网友评论

      本文标题:1.3 synchronize关键字: 对非静态方法加锁

      本文链接:https://www.haomeiwen.com/subject/ljtuuqtx.html