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;
    }
    }
    

    调用
    在这里插入图片描述

    测试结果:

    未加锁情况下:

    在这里插入图片描述

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

  • 相关阅读:
    java面向对象(五)之多态
    java集合(list,set,map)
    jQuery基础
    Numpy详解
    Pandas详解一
    Linux 解压缩
    Linux 磁盘挂载
    Linux 磁盘管理
    su和sudo命令详解
    Linux查看文件命令
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13076575.html
Copyright © 2011-2022 走看看