zoukankan      html  css  js  c++  java
  • java实现Synchronized锁的用法

    Java线程同步中的一个重要的概念synchronized.

    synchronized是java的关键字,是一种同步锁,它作用的对象有以下几种:

    ①作用在代码块上.该代码块称为同步代码块,作用范围是大括号{…}括起来的代码,作用的对象是调用这个代码块的对象

    ②方法上

    ③静态方法

    ④类

    案列1,同步代码块

    public class MySynchornized implements Runnable {
    
    private static int count;
    
    public MySynchornized() {
    count = 0;
    }
    
    @Override
    public void run() {
    // 同步代码块
    synchronized (this) {
    for (int i = 0; i < 5; i++) {
    try {
    System.out.println(Thread.currentThread().getName() + ":" + (count++));
    Thread.sleep(1000);
    } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    }
    
    }
    
    public int getCount() {
    return count;
    }
    }
    

    调用
    在这里插入图片描述

    测试结果:

    未加锁情况下:

    在这里插入图片描述

    加锁:
    在这里插入图片描述

  • 相关阅读:
    Zookeeper数据类型
    Zookeeper基本命令
    Redis集群
    Mysql 模拟自增主键
    git回滚版本操作
    Redis缓存穿透和雪崩
    日期格式jackson格式化
    Zookeeper安装
    redis主从复制
    Redis哨兵模式
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13076576.html
Copyright © 2011-2022 走看看