文档章节

synchronized几种形式及其用途

呆萌的我
 呆萌的我
发布于 2015/10/13 20:13
字数 203
阅读 5
收藏 0
点赞 0
评论 0

java并发编程过程中,常用到同步关键字synchronized,现在分析下synchronized在编程过程中的几种用途。

在方法体上

public synchronized void method1() {    
}

一次同时只能有一个线程能调用方法,其他线程只能等待。

在方法内部1

Integer mutex = 10;
public void method1() {
    synchronized (mutex) {
        System.out.println(mutex);
    }
}
public void method2() {
    synchronized (mutex) {
        mutex +=1;
    }
}

在调用method1时,会阻塞mehtod2

在方法内部2

public void method() { synchronized (this) { System.out.println("method2"); } }

通过当前对象锁

在方法内部3

public void method() { synchronized (XX.class) { System.out.println("method2"); } }

精度加锁

Object obj1 = new Object();
Object obj2 = new Object();

public void method1() {
    synchronized (obj1) {   
    }
}
public void method2() {
    synchronized (obj2) {   
    }
}

可以根据自己需要,加锁更精确,提高效率

版权声明:本文为博主原创文章,未经博主允许不得转载。

© 著作权归作者所有

共有 人打赏支持
呆萌的我
粉丝 3
博文 15
码字总数 15443
作品 0
天津
Java工程师面试题整理[社招篇]

http://blog.csdn.net/jackfrued/article/details/44921941 1、面向对象的特征有哪些方面? 2、访问修饰符public,private,protected,以及不写(默认)时的区别? 3、String 是最基本的数据类...

HD243608836 ⋅ 2017/12/12 ⋅ 0

Java并发面试题

本文整理了常见的Java并发面试题,希望对大家面试有所帮助,欢迎大家互相交流。 多线程 java中有几种方法可以实现一个线程? 如何停止一个正在运行的线程? notify()和notifyAll()有什么区别...

LCZ777 ⋅ 2014/05/27 ⋅ 0

JAVA程序员面试题整理(较全面)

以下是在面试中可能会遇到的问题,话不多说,往下看 1、面向对象的特征有哪些方面? 2、访问修饰符public,private,protected,以及不写(默认)时的区别? 3、String 是最基本的数据类型吗? ...

编程大侠 ⋅ 04/09 ⋅ 0

设计模式之Singleton(单态)

单态定义: Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 在很多操作中,比如建立目录 数据库连接都需要这样的单线程操作。 还有, singleton能够被状态化; 这...

JAVA_NINA ⋅ 2012/02/07 ⋅ 0

java并发编程--互斥锁, 读写锁及条件

java.util.concurrent.locks包提供了锁和等待条件的接口和类, 可用于替代JDK1.5之前的同步(synchronized)和监视器机制(主要是Object类的wait(), notify(), notifyAll()方法). 互斥锁--Lock接...

真爱2015 ⋅ 2016/06/21 ⋅ 0

GDPR 将如何影响开源社区?

许多组织正在争先恐后地了解隐私法的变化如何影响他们的工作。 2018 年 5 月 25 日,通用数据保护条例General Data Protection Regulation, GDPR 开始生效。欧盟出台的该条例将在全球范围内对...

07% ⋅ 06/08 ⋅ 0

传统线程互斥技术

使用synchronized代码块及其原理? 使用synchronized方法? 分析静态方法所使用的同步监视器对象是什么? 一、代码实现 1、同一对象锁 2、外部调用对象(锁)不同 3、方法加synchronized关键字...

哎小艾 ⋅ 01/16 ⋅ 0

Java 面试题:百度前200页都在这里了

基本概念 操作系统中 heap 和 stack 的区别 什么是基于注解的切面实现 什么是 对象/关系 映射集成模块 什么是 Java 的反射机制 什么是 ACID BS与CS的联系与区别 Cookie 和 Session的区别 fa...

Java红茶 ⋅ 2017/11/13 ⋅ 0

多线程相关面试题及其解答

Q:什么是线程?什么是进程?线程和进程有什么区别? A:线程:又称"轻量级进程",是操作系统能够进行运算调度的最小单位,被包含在进程之中,是进程中的实际运作单位。 进程: 系统进行资源...

TinyDolphin ⋅ 2017/12/17 ⋅ 0

源代码分析查看工具--Sourcetrail

Sourcetrail 是一款非常不错的开发软件,它为您提供很多代码的变成工作,详细的源代码讲解为您的开发提供了便利的条件!Sourcetrail 的功能强大,设计简单,让您的程序语言变的更加专业,开放...

匿名 ⋅ 2017/10/27 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

10个免费的服务器监控工具

监控你的WEB服务器或者WEB主机运行是否正常与健康是非常重要的。你要确保用户始终可以打开你的网站并且网速不慢。服务器监控工具允许你收集和分析有关你的Web服务器的数据。 有许多非常好的服...

李朝强 ⋅ 25分钟前 ⋅ 0

压缩工具之zip-tar

zip 支持目录压缩。使用yum安装zip包,使用yum安装unzip包 zip 1.txt.zip 1.txt #将1.txt文件压缩,新生成的压缩文件为1.txt.zip,原文件保留 zip -r 123.zip 123/ #-r对目录操作。将123/目录...

ZHENG-JY ⋅ 26分钟前 ⋅ 0

Dubbo @Activate注解使用和实现解析

Activate注解标识一个扩展是否被激活和使用,可以放在定义的类上和方法上,dubbo用它在SPI扩张类定义上,标识这个扩展实现激活的条件和时机,先看下定义: /** * Activate * <p/> * ...

哲别0 ⋅ 33分钟前 ⋅ 0

6.5 zip压缩工具 tar打包 打包并压缩

1.tar tar命令格式 [-zjxcvfpP] filename tar -z:表示同时用gzip压缩。 -j:表示同时用bzip2压缩。 -J:表示同时用xz压缩。 -x:表示解包或者解压缩。 -t:表示查看tar包里的文件。 -c:表示建...

oschina130111 ⋅ 35分钟前 ⋅ 0

Linux系统工程狮养成记

如今的社会,随着时代的发展,出现了很多职业,像电子类,计算机类的专业,出现了各种各样的工程师,有算法工程师,java工程师,前端工程师,后台工程师,Linux工程师,运维工程师等等,不同...

六库科技 ⋅ 41分钟前 ⋅ 0

Linux 机器的渗透测试命令备忘表

如下是一份 Linux 机器的渗透测试备忘录,是在后期开发期间或者执行命令注入等操作时的一些典型命令,设计为测试人员进行本地枚举检查之用。 此外,你还可以从这儿(https://gbhackers.com/c...

寰宇01 ⋅ 43分钟前 ⋅ 0

windows 安装java开发环境,配置jdk

下载jdk安装文件 链接:https://pan.baidu.com/s/1UEKPjnAdMqNj612B39Pfsg 密码:ipqx 如果javac无法使用 1,检查环境变量名称中是否有空格。。。,去除后即可 2,将JAVA_HOME替换为原始路径...

阿豪boy ⋅ 44分钟前 ⋅ 0

简析log4j的实现方式

刚加入新公司,对日志的要求比较严格,对此特意花了几天时间看了一下log4j的源码,大概了解了一下log4j的实现方式,总结如下: log4j的实现分为两个步骤:log4j.xml的加载,logger的使用 这里...

zdatbit ⋅ 今天 ⋅ 0

win环境下jdk7与jdk8共存配置

1.jdk安装包 jdk安装包 安装步骤略 2.jdk等配置文件修改 在安装JDK1.8时(本机先安装jdk1.7再安装的jdk1.8),会将java.exe、javaw.exe、javaws.exe三个文件copy到了C:\Windows\System32,这...

泉天下 ⋅ 今天 ⋅ 0

windows profesional 2017 build problem

.net framework .... https://stackoverflow.com/questions/43330915/could-not-load-file-or-assembly-microsoft-build-frameworkvs-2017...

机油战士 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部