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

    调用
    在这里插入图片描述

    测试结果:

    未加锁情况下:

    在这里插入图片描述

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

  • 相关阅读:
    Callable的Future模式
    并发队列
    并发工具类
    线程池
    并发编程专题
    侧边栏:内有友链,分类等等
    脑残错误记录
    博主的OI流水账
    NOI2019游记
    NOI数论姿势瞎总结(Pi也没有)
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13076032.html
Copyright © 2011-2022 走看看