文档章节

Synchronized的用法

rainmanqqst
 rainmanqqst
发布于 2017/02/28 11:51
字数 279
阅读 20
收藏 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

共有 人打赏支持
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
Java 同步方式 (1) —— synchronized

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

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

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

清尘V
2016/05/11
55
0
Synchronized 的用法

Synchronized 的用法 synchronized 是一种同步锁。它修饰的对象有以下几种: 修饰一个代码块,被修饰的代码块称为同步代码块,作用范围是{}里面的代码,作用的兑现是调用这个代码块的对象; ...

u014527323
2017/11/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JS:异步 - 面试惨案

为什么会写这篇文章,很明显不符合我的性格的东西,原因是前段时间参与了一个面试,对于很多程序员来说,面试时候多么的鸦雀无声,事后心里就有多么的千军万马。去掉最开始毕业干了一年的Jav...

xmqywx
今天
0
0
Win10 64位系统,PHP 扩展 curl插件

执行:1. 拷贝php安装目录下,libeay32.dll、ssleay32.dll 、 libssh2.dll 到 C:\windows\system32 目录。2. 拷贝php/ext目录下, php_curl.dll 到 C:\windows\system32 目录; 3. p...

放飞E梦想O
今天
0
0
谈谈神秘的ES6——(五)解构赋值【对象篇】

上一节课我们了解了有关数组的解构赋值相关内容,这节课,我们接着,来讲讲对象的解构赋值。 解构不仅可以用于数组,还可以用于对象。 let { foo, bar } = { foo: "aaa", bar: "bbb" };fo...

JandenMa
今天
1
0
OSChina 周一乱弹 —— 有人要给本汪介绍妹子啦

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享水木年华的单曲《中学时代》@小小编辑 手机党少年们想听歌,请使劲儿戳(这里) @须臾时光:夏天还在做最后的挣扎,但是晚上...

小小编辑
今天
21
5
centos7安装redis及开机启动

配置编译环境: sudo yum install gcc-c++ 下载源码: wget http://download.redis.io/releases/redis-3.2.8.tar.gz 解压源码: tar -zxvf redis-3.2.8.tar.gz 进入到解压目录: cd redis-3......

hotsmile
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部