Lock是跟在特定对象的instance上。假设有两个不同的对象ObjectA和ObjectB。ObjectA和ObjectB中的method可以并行地执行,因为调用ObjectA的方法撷取的lock是跟在ObjectA这个instance上,而调用ObjectB的方法撷取的lock是ObjectB这个instance上。因为两个对象是不同的对象,两个thread撷取的也是两个不同的lock,所以任一个thread都不需要等待另一个执行结束。
同步化的static method是用来做什么?它又是如何运作的?当一个static method被调用的时候,程序会在调用此method前取得class的lock。class lock跟instance lock是两种不同的lock。class lock可以于object lock之外被独立取得与释放。如果一个非static synchronized method调用了static synchronized method,它会取得两者的lock。
class lock是构成此Class对象的lock。因为每个class只有一个Class对象。
Multiple Thread
原创mb65017f8b83427 博主文章分类:JAVA ©著作权
©著作权归作者所有:来自51CTO博客作者mb65017f8b83427的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:调用finalize方法
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Java Thread Dump文件分析
Java Thread Dump文件分析
java 堆栈 Java -
Find The Multiple
Find The Multiple &n
#include git ios -
mysql需要多大服务器配置
随着互联网的飞速发展,企业越来越离不开服务器,一个服务器的好坏往往会影响到企业的发展。那么企业如何选择合适的服务器?需要考虑哪些因素?我们可以从以下几方面考虑:1.服务器的主要目的是做什么?选择服务器之前,确定好将运行什么软件,负载有多大,清楚的知道服务器的应用类型,可以决定服务器的配置,包括CPU、内存、硬盘等。按照常见基础架构来讨论:Web服务器正常情况下,我们认为大多数Web服
mysql需要多大服务器配置 web 服务器 内存 影响 不在域的电脑时间改成域控服务器时间 服务器内存一般多大 服务器