文档章节

Synchronized的用法

rainmanqqst
 rainmanqqst
发布于 2017/02/28 11:51
字数 279
阅读 25
收藏 0

Synchronized的大概有4中用法

1.修饰一个方法,如:

public synchronized void count(){

}

在这种情况下,一个对象一次只能有一个线程可以访问该方法。如果是类的不同实现对象,访问同一接口不会受到影响。如果该类中有多个方法都添加了synchronized方法,则一个对象调用其中一个synchronized方法时,该对象的其他线程不允许调用其他synchronized方法

2.修饰一个代码块,如

public void count(){
    synchronized(this){

    }
}

在这种情况下,同一个对象,一次只能有一个线程访问代码块中的代码

3.修饰一个静态方法,如

public synchronized static void count(int time){
        
}

由于静态方法是属于类的,所以该类的所有实现对象,一次只能有一个线程使用该方法

4.修饰一个类,如

public class ThreadSync{

public void count(int time){
        synchronized (ThreadSync.class){
        }
}
}

在这种情况下,该类的所有实现对象,一次只能有一个线程访问代码块中的代码

本文转载自:https://github.com/pzxwhc/MineKnowContainer/issues/7

共有 人打赏支持
上一篇: JAVA引用类型
rainmanqqst
粉丝 7
博文 59
码字总数 32306
作品 0
浦东
程序员
私信 提问
并发编程笔记二:synchronized锁住了谁?

在并发编程中要使用到关键字,当我们用关键字修饰一个方法时,代表着一个锁(Lock),那么这个锁的对象是什么,也就是它锁住了谁? 的使用情况大概就是下面几种: synchronized修饰非静态方法...

binxin5108
2016/12/23
13
0
Java对象锁和类锁全面解析(多线程synchronized关键字)

版权声明:本文为博主原创文章,转载注明出处http://blog.csdn.net/u013142781 最近工作有用到一些多线程的东西,之前吧,有用到synchronized同步块,不过是别人怎么用就跟着用,并没有搞清楚...

tantexian
2016/12/19
16
0
synchronized 之 对象锁 和 类锁

一、synchronized(object) 如果object没有被加锁,则获取object的锁;如果object已经被加锁则等待object的锁被释放。 二、需要加锁的情景 多线程共享同一资源会引起线程安全的情况下,才需要...

MyOldTime
09/21
0
0
Java 同步方式 (1) —— synchronized

前两篇博客 ArrayList 用法比较 和 String 用法比较,介绍过程中都提及到了同步和线程安全的问题,本篇将重点介绍Java同步方式之一的synchronized用法。 线程安全 线程安全,是指每次运行结果...

长平狐
2013/01/06
81
0
Java synchronized使用

先看测试方法: 多个线程同时访问多个synchronized方法: 输出如下: 由此可以看出:多线程在同一时刻只能有一个线程访问对象的synchronized方法 多线程同时访问一个synchronized方法,一个非...

清尘V
2016/05/11
55
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS配置Tomcat监听80端口,虚拟主机

Tomcat更改默认端口为80 更改的配置文件是: /usr/local/tomcat/conf/server.xml [root@test-a ~]# vim /usr/local/tomcat/conf/server.xml # 找到 Connector port="8080" protocol="HTTP/1......

野雪球
今天
5
0
《稻盛和夫经营学》读后感心得体会3180字范文

《稻盛和夫经营学》读后感心得体会3180字范文: 一代日本经营之圣稻盛和夫凭借刻苦勤奋的精神以及深植于佛教的商业道德准则,成为了“佛系”企业家的代表人物。在《稻盛和夫经营学》“领导人...

原创小博客
今天
3
0
java框架学习日志-5(常见的依赖注入)

依赖注入(dependency injection) 之前提到控制反转(Inversion of Control)也叫依赖注入,它们其实是一个东西,只是看的角度不同,这章详细说一下依赖注入。 依赖——指bean对象创建依赖于...

白话
今天
4
0
红外接收器驱动开发

背景:使用系统的红外遥控软件没有反应,然后以为自己接线错误,反复测试,结果烧坏了一个红外接收器,信号主板没有问题。所以自己开发了一个红外接收器的python驱动。接线参见https://my.os...

mbzhong
今天
2
0
ActiveMQ消息传送机制以及ACK机制详解

AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。 一. ActiveMQ消息传送机...

watermelon11
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部