1.对象的加锁及其操作

  程序中单独的并发线程对同一对象进行操作的代码段,成为临界区。java语言中的临界区可以是一个语句块

或者方法,使用关键字synchronized进行标识。

  对象锁:java平台把由synchronized语句指定的对象 设置为对象锁或者监视器(monitor),对象锁是一种独

立方式的排它锁。

  排它锁:当一个线程获取对象锁后,便拥有对该对象的完全操作权,其他任何线程不得对象改对象进行任何操作。

2.死锁

  如果程序中多个线程相互等待对方持有的对象锁,而如果得不到对方的对象锁都不会释放自己拥有的对象锁,则

会造成线程不能继续运行,这就是死锁。

3.线程交互与同步

  wait,notify方法可以实现线程的同步

  当线程执行到synchronized块时,如果里面需要的资源得不到满足、处于等待状态,可以使用wait方法,这样在等待

的同时并暂时释放共享数据对象的锁,其他线程可获得改对象锁。完成操作后,只要调用notify方法就可以通知正在等待

的线程重新占有锁。

最新文章

  1. 理解 Delphi 的类(八) - 关于类的定义
  2. 【加精】手机话费充值API接口(PHP版)
  3. java加密算法之AES小记
  4. SQL Server类型的对应关系
  5. 尽快写完Math!
  6. paper 36 :[教程] 基于GridSearch的svm参数寻优
  7. java中运算符的解析和计算
  8. Xcode use Protocol buffer
  9. js 数组,字符串,JSON,bind, Name
  10. Golang 网络爬虫框架gocolly/colly 三
  11. .Net语言 APP开发平台——Smobiler学习日志:如何在手机上快速实现CandleStickChart控件
  12. ascii、unicode、utf-8、gbk 区别
  13. 6-12mysql库的操作
  14. STARTTLS is required but host does not support STARTTLS
  15. [poj2528]Mayor's posters
  16. jquery有几种选择器?
  17. 《Linux内核分析》第一周学习小结 计算机是如何工作的?
  18. 二维码Data Matrix简单介绍及在VS2010中的编译
  19. Maven-使用及常见问题
  20. 万网云解析全面升级开放,支持海外IP解析!

热门文章

  1. [SinGuLaRiTy] 图论题目复习
  2. python web开发之flask框架学习(2) 加载模版
  3. 使用Spring IOC容器引用外部属性文件
  4. 查看ip常见命令...
  5. 公有云Docker镜像P2P加速之路:安全篇
  6. javascript拖拽事件
  7. kuangbin专题七 HDU1754 I Hate It (单点修改维护最大值)
  8. aspectj 与 spring 自定义注解
  9. 【笔记】MySQL的基础学习(二)
  10. TCP的粘包问题