java synchronized 参数_synchronized 参数的理解

synchronized 是java中用来同步的方法,详细的就不介绍了。

synchronized的用法为:

synchronized(锁){

代码块

}

这个锁是什么呢,我看了很多说法但没有一个能讲清楚的。

通过一段时间的使用后逐渐发现了一些synchronized使用的规律

使用synchronized是为了防止多个线程同时处理同一个方法,例如在同一时间使用push方法。

问题在于锁使用的范围,其实这个我也不是很清楚,我只说一些我了解的。

这个“锁”应该就是一个字符串,对于使用相同“锁”的synchronized,synchronized中的代码块不能同时运行,最简单的例子就是:

Thread[] t = new Thread[10];

for (int i = 0; i < t.length; i++) {

int finalI = i;

t[i] = new Thread(new Runnable() {

@Override

public void run() {

synchronized ("AAAAA") {

System.out.println(Thread.currentThread().getName());

try {

Thread.sleep(1000);

}catch (InterruptedException e){

e.printStackTrace();

}

}

}

});

t[i].start();

}

for (int i = 0; i

t[i].join();

}

这和普通的for循环就没有区别了,因为每个线程用的是同一个“锁”--"AAAAA",如果把锁改成Thread.currentThread().getName(),就可以多线程了,因为每一个线程的名字不一样,所以“锁”就不一样。

所以如果要同步就要保证“锁”是一样的,或者说地址一样。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/345115.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot集成测试中@ContextConfiguration和@SpringApplicationConfiguration之间的区别

即使同时使用ContextConfiguration和SpringApplicationConfiguration批注以及SpringJUnit4ClassRunner来指定如何加载Spring应用程序上下文&#xff0c;它们之间也存在细微的差异。 尽管ContextConfiguration在加载应用程序上下文方面表现出色&#xff0c;但没有充分利用Spring…

【渝粤题库】广东开放大学 秘书理论与实务 形成性考核

&#x1f449;关注我,看答案&#x1f448; 选择题 题目&#xff1a;秘书的职责之一是服从上级&#xff0c;既然秘书要服从上级&#xff0c;那么即使发现上级有错误时也不能指出来。 题目&#xff1a;权利人对产品设计、工艺流程、配方、质量管理等方面的技术信息采取保密措施属…

【渝粤题库】广东开放大学 数据库技术安全 形成性考核

选择题 题目&#xff1a;6-1、与大数据密切相关的技术是&#xff08;&#xff09;。 题目&#xff1a;6-2、大数据应用需依托的新技术有&#xff08;&#xff09;。 题目&#xff1a;6-3、以下哪个不是大数据的特性&#xff08;&#xff09;。 题目&#xff1a;6-4、下列哪一项…

【渝粤题库】广东开放大学 PHP动态网站设计 形成性考核

选择题 题目&#xff1a; PHP 服务器脚本由_________分隔符包围&#xff1f; 题目&#xff1a; 下列说法不正确的是____________。 题目&#xff1a; PHP是一种跨平台、____________的网页脚本语言。 题目&#xff1a; PHP网站可称为____________。 题目&#xff1a; PHP…

vert.x_使用vert.x 2.0,RxJava和mongoDB创建simpe RESTful服务

vert.x中断了将近半年后发表了一篇新文章。 在本文中&#xff0c;我们将快速了解如何开始使用vert.x&#xff0c;更有趣的是&#xff0c;如何使用RxJava简化异步系统的编程。 我们将涵盖以下主题&#xff1a; 使用Maven创建一个空的vert.x项目 导入IntelliJ并创建一个简单的H…

java底层编程_万字长文!从底层开始带你了解并发编程,彻底帮你搞懂Java锁!

线程是否要锁住同步资源锁住 悲观锁不锁住 乐观锁锁住同步资源失败 线程是否要阻塞阻塞不阻塞自旋锁&#xff0c;适应性自旋锁多个线程竞争同步资源的流程细节有没有区别不锁住资源&#xff0c;多个线程只有一个能修改资源成功&#xff0c;其它线程会重试无锁同一个线程执行同步…

【渝粤题库】广东开放大学 会展英语 形成性考核

选择题 题目&#xff1a;_______ refers to attaching meaning to sense data and is synonymous with decoding.&#xff08;&#xff09;。 题目&#xff1a;依据平衡计分卡的思想&#xff0c;把组织的战略分成财务战略、客户战略、内部业务流程战略和 题目&#xff1a;Ameri…

【渝粤题库】广东开放大学 外贸会计 形成性考核

选择题 题目&#xff1a; 在实际业务中&#xff0c;FOB条件下&#xff0c;买方常委托卖方代为租船、订舱&#xff0c;其费用由买方负担。如到期订不到舱&#xff0c;租不到船&#xff08; &#xff09;。 题目&#xff1a; 在实际业务中&#xff0c;FOB条件下&#xff0c;买…

java怎么截取后8位数字_java如何更快生成00000000~99999999的8位数字保存到文件中?...

你的代码之所以会这么慢主要因为两个半半点&#xff1a;1&#xff1a;你循环多少次就打开多少次文件。2&#xff1a;你用了String.format("%08d", atLong)你应该先转换成String再用substring来整理....另外半点&#xff1a;你循环多了个0...并且还循环System.out.pri…

如何通过Rultor将Maven工件部署到CloudRepo

在我以前的文章中 &#xff0c;我描述了如何在Amazon S3中设置私有Maven存储库并通过Rultor进行部署。 如果您熟悉管理Amazon Web Services&#xff08;AWS&#xff09;&#xff0c; S3和AWS Identity and Access Management&#xff08;IAM&#xff09;的话&#xff0c;这是一…

【渝粤题库】广东开放大学 岭南文化概论专科 形成性考核

选择题 题目&#xff1a;中国由北而南最大规模的“移民潮”发生在&#xff08;&#xff09;代。 题目&#xff1a;位于五岭之一的大庾岭道上的粤北南雄()&#xff0c;是移民入粤的重要中转站。 题目&#xff1a;汉代所置的&#xff08;&#xff09;郡&#xff0c;管辖番禺.博罗…

【渝粤题库】广东开放大学 建筑施工技术 形成性考核

选择题 题目&#xff1a;以下土料不能用作填方的是&#xff08;&#xff09;。 题目&#xff1a;在地下水的处理方法中&#xff0c;属于降水法的是&#xff08;&#xff09;。 题目&#xff1a;在填方工程中&#xff0c;以下说法正确的是&#xff08;&#xff09;。 题目&#…

java 拉丁文 unicode_“java语言使用的是Unicode编码”是指的jvm?.java文件?

*.java (utf-8/gbk/...) -> *.class (utf-8) -> memory (utf-16)javac 编译中有参数可以制定源代码的编码-encoding Specify character encoding used by source files所以源码用其他编码都是可以的&#xff0c;最常见的是使用UTF-8.See also:在类文件中字符串也是以utf-…

【渝粤题库】广东开放大学 计算机应用基础(本) 形成性考核

选择题 题目&#xff1a;Windows的任务栏可用于________。 题目&#xff1a;Windows中可以设置、控制计算机硬件配置和修改显示属性的应用程序是________。 题目&#xff1a;在Windows中下面的叙述正确的是___________。 题目&#xff1a;计算机可以进行自动处理的基础是______…

java里面自行车的属性_11、Java基础知识

1、安装jdk&#xff0c;配置环境变量2、public class HelloWorld{publicstatic void main(String[] args){System.out.println(‘HelloWorld’);}}3、编译过程&#xff1a;通过javac编译java文件&#xff0c;生成.class文件&#xff0c;使用java命令运行class文件&#xff0c;注…

布线问题分支限界法java_大型布线:Java云应用程序缺少的技术

布线问题分支限界法java您是否曾经想过&#xff0c;为什么大多数Java框架中的依赖项注入仅用于本地进程内服务而不是分布式服务&#xff1f; 我最近在2013年EMC世界大会上遇到了Paul Maritz的主题演讲 &#xff08;跳至第32分钟&#xff09;&#xff0c;这使我在云平台的背景下…

【渝粤题库】陕西师范大学164108 网络营销与策划 作业 (高起专)

《网络营销与策划》作业 单项选择题 以下&#xff08;&#xff09;不是按照检索软件分类的搜索引擎。 A全文数据库检索 B非全文数据库检索 C目录式搜索引擎 D主题指南类检索对于主要基于网站作为信息沟通渠道的公司而言&#xff0c;实施网络营销一般不会涉及&#xff08;&…

java 类似xamarin_有人有基准(代码和结果)比较在Xamarin C#和Java编写的Android应用程序的性能吗?...

我遇到了Xamarin声称他们在Android上的Mono实现和他们的C#编译的应用程序比Java代码更快。有没有人在不同的Android平台上执行非常类似的Java和C#代码的实际基准来验证此类声明&#xff0c;可以发布代码和结果&#xff1f;于2013年6月18日添加因为没有答案&#xff0c;没有人能…

【渝粤题库】陕西师范大学189101 消费者行为学Ⅰ 作业(高起专)

《消费者行为学Ⅰ》作业 一、单选题 1、人在对刺激物进行组织的过程中往往遵循一系列原则。其中&#xff08;&#xff09;是指人在对知觉对象或刺激物理解的过程中&#xff0c;有一种将他的各种感知组织成简单的模式的倾向。 A简洁性原则 B形、底原则 C完形原则 D 分类原则 2、…

Spring Boot微服务,Docker和Kubernetes研讨会–第2部分

在上一篇文章中&#xff0c;我们使用SpringBoot和Docker创建了第一个微服务“ ProductService”。 在这一部分中&#xff0c;我们将详细介绍如何使用Spring Cloud&#xff0c;netflix库&#xff0c;API网关来管理多个微服务。 假设对于我们的订单管理系统&#xff0c;最小关系…