1、synchronized关键字的作用域有二种:
1)是某个对象实例内,synchronized aMethod(){}可以防止多个线程同时访问这个对象的synchronized方法(如果一个对象有多个synchronized方法,只要一个线程访问了其中的一个synchronized方法,其它线程不能同时访问这个对象中任何一个synchronized方法)。这时,不同的对象实例的synchronized方法是不相干扰的。也就是说,其它线程照样可以同时访问相同类的另一个对象实例中的synchronized方法;
2)是某个类的范围,synchronized static aStaticMethod{}防止多个线程同时访问这个类中的synchronized static 方法。它可以对类的所有对象实例起作用。

2、除了方法前用synchronized关键字,synchronized关键字还可以用于方法中的某个区块中,表示只对这个区块的资源实行互斥访问。用法是: synchronized(this){/*区块*/},它的作用域是当前对象;

3、synchronized关键字是不能继承的,也就是说,基类的方法synchronized f(){} 在继承类中并不自动是synchronized f(){},而是变成了f(){}。继承类需要你显式的指定它的某个方法为synchronized方法;

java多线程同步synchronized——对象监视器相关推荐

  1. java代码读取dbsequence的值_MongoDB自增序列实现 - Java多线程同步 synchronized 用法

    在使用MongoDB的时候 (基于spring-mongo) ,我想在插入对象时获取有序自增的主键 ,但是MongoDB的默认规则是生成一串无序 (大致有序) 的字串 .而Spring Data提供的 ...

  2. Java多线程同步Synchronized深入解析

    (转自:http://www.51testing.com/html/03/n-827703.html) 同步的概念: 同步分为同步方法和同步块两种方式. 锁定的内容分为锁定类的某个特定实例和锁定类对象 ...

  3. Java多线程同步Synchronized使用分析

    同步的概念: 同步分为 同步方法 和 同步块 两种方式. 锁定的内容分为 锁定类的某个特定实例 和 锁定类对象(类的所有实例) 变量分为 实例变量(不带static的变量) 和 类变量(带static ...

  4. java线程同步——条件对象+synchronized 关键字

    [0]README 0.1) 本文描述转自 core java volume 1, 源代码为原创,旨在理解 java线程同步--条件对象+synchronized 关键字 的相关知识: 0.2)for ...

  5. Java多线程同步机制

    一段synchronized的代码被一个线程执行之前,他要先拿到执行这段代码的权限,在 java里边就是拿到某个同步对象的锁(一个对象只有一把锁): 如果这个时候同步对象的锁被其他线程拿走了,他(这个 ...

  6. java多线程同步与死锁_浅析Java多线程中的同步和死锁

    Value Engineering 1基于Java的多线程 多线程是实现并发机制的一种有效手段,它允许编程语言在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间相互独立,且与进程一样拥有独立 ...

  7. Java多线程:synchronized | Volatile 和Lock和ReadWriteLock多方位剖析(一)

    前言 本文站在多线程初中级学习者的角度,较为全面系统的带你一起了解多线程与锁相关的知识点.带你一起解开与锁相关的各种概念.用法.利弊等.比如:synchronized.Volatile.Lock.Re ...

  8. Android 价值千万java多线程同步 lt;五CountDownLatch(计数器)和Semaphore(信号量)

    1).Android 价值千万   java线程专题:Wait&notify&join&Yield http://blog.csdn.net/whb20081815/artic ...

  9. java火箭应用_从火箭发场景来学习Java多线程并发闭锁对象

    原标题:从火箭发场景来学习Java多线程并发闭锁对象 从火箭发场景来学习Java多线程并发闭锁对象 倒计时器场景 在我们开发过程中,有时候会使用到倒计时计数器.最简单的是:int size = 5; ...

最新文章

  1. 深度:生成模型(GAN)的最新进展
  2. 在当当买了python怎么下载源代码-python爬虫爬取当当网
  3. 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(二)-- Web Api Demo
  4. Linux 小知识翻译 - 「邮件服务器」
  5. python脚本自动运行失败_Linux中定时任务执行python脚本失败的解决方法
  6. LeetCode 526. Beautiful Arrangement
  7. 各种版本的Visual C++编译器
  8. ProxySQL 入门教程
  9. OSS Content-legnth 异常
  10. 刷机命令android手机刷机后,wifi无法使用的解决方法
  11. Java程序编写 • 【第9章 程序:用定义类实现,吃货联盟订餐系统,新增商家和评论功能】
  12. python上机试题
  13. CentOS tomcat自启动
  14. java 304_http 304 浅析
  15. 借记/贷记交易处理流程
  16. R语言导入csv、dta、spss等不同形式数据
  17. Flink web.upload.dir
  18. 深入分析Docker镜像原理 (转载)
  19. 怎样将cad布局导出来_cad布局出图教程(请问 CAD布局里面的图 怎么复制出来)...
  20. 基于matlab城市空中交通场景中的激光雷达与雷达融合仿真(附源码)

热门文章

  1. Matlab从入门到精通 Chapter5 数据可视化
  2. JavaSE--类加载器
  3. InnerClass内部类
  4. hadoop 单节点安装
  5. HDU 2242 双连通分量 考研路茫茫——空调教室
  6. (转)女生应该找一个玩ACM的男生
  7. VSTO 得到Office文档的选中内容(Word、Excel、PPT、Outlook)
  8. Windows集群网络配置最佳做法
  9. 【数据结构与算法】栈与队列
  10. matlab窗函数带通滤波器,Matlab结合窗函数法设计数字带通FIR滤波器