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的使用_Java中synchronized的用法相关推荐

  1. java synchronized 使用_Java中Synchronized的用法

    synchronized是Java中的关键字,是一种同步锁.它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码 ...

  2. java同步关键字_Java中synchronized关键字修饰方法同步的用法详解

    Java的最基本的同步方式,即使用synchronized关键字来控制一个方法的并发访问. 每一个用synchronized关键字声明的方法都是临界区.在Java中,同一个对象的临界区,在同一时间只有 ...

  3. java synchronized静态_Java中Synchronized的用法(简单介绍)

    简单介绍 synchronized是Java中的关键字,是一种同步锁.它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调 ...

  4. java synchronized 使用_Java中synchronized的使用实例

    Java中synchronized的使用实例 synchronized关键字,代表这个方法加锁,相当于不管哪一个线程(例如线程A),运行到这个方法时,都要检查有没有其它线程B(或者C.D等)正在用这个 ...

  5. 从不同步的代码块中调用了对象同步方法。_Java中Synchronized的用法

    Java中,synchronized关键字是用来控制线程同步的,就是在多线程的环境下,控制synchronized代码段不被多个线程同时执行.拉勾IT课小编为大家分析. synchronized是Ja ...

  6. java i 线程不安全_java中的++i是线程安全的吗?

    java中的++i是线程安全的吗?为什么?怎么使它线程安全呢? 先说答案: 非线程安全 先说下为什么是非线程安全的? 从Java内存模型说起 Java内存模型规定了所有的便利都存储在主内存中,每个线程 ...

  7. java implements用法_JAVA中implements的用法

    implements使用 interface Sport { void run(); void jump(); } class Athlete implements Sport { public vo ...

  8. java org.jb2011报错_Java中getResourceAsStream()用法总结(转)

    Java中getResourceAsStream的用法 首先,Java中的getResourceAsStream有以下几种: 1. Class.getResourceAsStream(String p ...

  9. java boolean几个字节_Java中boolean类型到底占用多少个字节?

    1.时间:2017-07-03 07:37:06YuanMxy 2.问题描述:今天在复习java基础的时候发现一小问题,Java中boolean类型到底占用多少个字节? 3.问题解答: (1)什么是b ...

最新文章

  1. thinkbook14 2021款电脑买来后发现:关机后电源指示灯仍然是亮的
  2. c++中#include“stdafx.h”
  3. python手机版怎么用-手机使用python操作图片文件(pydroid3)过程详解
  4. 支持本地 持久化的 单机版 consul 服务
  5. 面试必会:HashMap 实现原理解读
  6. vba 跳出for循环_VBA简单入门08:For循环
  7. 斯坦福大学机器学习第六课“神经网络的表示(Neural Networks: Representation)”
  8. 使用Microsoft.AspNetCore.TestHost进行完整的功能测试
  9. LeetCode MySQL 1435. 制作会话柱状图
  10. 【2017年第1期】基于外卖物流配送大数据的调度系统
  11. jQuery Ajax - ajax()方法,参数注释
  12. vector容器的end是指向最后一个元素的下一个位置,使用时要将迭代器减1,才能获取到最后一个
  13. 【Linux 驱动】第十章 中断处理
  14. c语言编译错误c267,为啥编译出现HAHA.C(31): error C267: 'adc0832': requires ANSI-style prototype.......
  15. python进销存课程_蜗牛笔记-文章-蜗牛进销存项目实战(一)
  16. 固定资产标签化带来的便利
  17. Azure核心服务(VM)——>创建windows虚拟机并在此之上部署一个cms网站
  18. RIoTBoard开发板系列笔记(十二)—— gstreamer + vpu实现视频硬件解码播放
  19. 开关电源空载吱吱声_开关电源变压器工作时为什么出现吱吱声?
  20. 已知补码如何求原码、真值

热门文章

  1. 演练 网站的导航栏 0920
  2. dj鲜生14-类视图的实现原理+代码
  3. 子集生成算法——增量构造法
  4. JDK动态代理和CGLib动态代理简单演示
  5. 【原创】CLEVO P157SM外接鼠标键盘失灵解决:更换硅脂(附带最新跑分数据)
  6. 项目管理工具比较-redmine vs trac
  7. WinForm下DataGridView导出Excel的实现
  8. 面试:高并发下的流量控制
  9. MySQL8.0与MySQL5.7 OLTP 性能测试对比
  10. NodeJS开源系统Mili简介