•1.依靠对象锁锁定

初始化一个对象时,自动有一个 对象锁。

synchronized {普通方法}依靠对象锁工作,多线程访问synchronized方法,一旦某个进程抢得锁之后,其他的进程只有排队对待。

synchronized void method{}功能上,等效于:

void method{

synchronized(this) {

    ...

}

}

•2.针对每个类,也有一个锁(作为类的Class对象的一部分),

所以synchronized static方法可以在类范围内防止对static数据的并发访问。

synchronized {static方法} 此代码块等效于:

void method{

synchronized(Obj.class)

}

}

使用该类的类对象的锁定去做线程的共享互斥

java编程思想 p677(p713)

http://www.cnblogs.com/yanghuahui/p/3365922.html#undefined

最新文章

  1. Markdown编辑器语法指南2
  2. UVA 11859 Division Game[Nim游戏]
  3. 【C# 基础应用】我的第一个App,不容易——随机生成小人网站,asp.net core
  4. 框架SpringMVC笔记系列 二 传值
  5. 解决eclipse中maven web工程打包成war(发布到tomcar)时lib中没有jar包的解决方法
  6. CM: 使用gerrit,提交代码到CM
  7. 笔记本安装Win2012R2 心得(包含无线网卡+有线网卡驱动解决方法)
  8. Django session 详解-part II-session
  9. dateset是不是在缓存中
  10. CodeForces 687A NP-Hard Problem(二分图判定)
  11. JS比较思维模型
  12. 201521123018 《Java程序设计》第2周学习总结
  13. [HNOI 2002]营业额统计
  14. 第一个SDL程序
  15. 使用Thrift让Python和C#可以相互调用
  16. LOJ 3057 「HNOI2019」校园旅行——BFS+图等价转化
  17. Lintcode455-StudentID-Easy
  18. 发行版Linux和麒麟操作系统下netperf 网络性能测试
  19. linux CPU占用率高(转)
  20. 使用 telnet 发邮件

热门文章

  1. PAT 1030 完美数列
  2. 简单配置 Tomcat 的 Server.xml(war包发布)
  3. 【Python】Python—判断变量的基本类型
  4. P4018 Roy&October之取石子
  5. shared_ptr 的循环依赖问题
  6. [NOI2017]游戏 2-sat
  7. [HEOI2015]最短不公共子串
  8. Ubuntu修改grub启动顺序和启动时间
  9. (转)什么是JSON+如何处理JSON字符串
  10. 调用webservice接口