我有一个关于Java中方法同步的问题.

考虑一个具有3个同步方法的类.

class MyClass{

public synchronized void methodA(){ ... }

public synchronized void methodB(){ ... }

public synchronized void methodC(){ ... }

}

考虑myObject,myClass的一个实例.以下内容哪些是对的?

选项1:

线程不可能在myObject中运行任何同步方法,而另一个线程在myObject中运行任何同步方法.

例如,当线程1运行实例myObject的methodA()时,线程2不能运行任何方法methodA(),methodB()和methodC().

选项2:

线程不可能在myObject中运行特定的同步方法,而该特定方法由另一个线程运行.

例如,当线程1运行实例myObject的methodA()时,线程2不能运行方法methodA(),但可以运行methodB()或methodC(). (意思是,三个同步方法没有“连接”).

解决方法:

第一个选项是正确的,因为基本上有一个锁用于所有方法.

标签:java,multithreading,synchronization

来源: https://codeday.me/bug/20190629/1322581.html

java 同步的方法_关于Java中的同步方法相关推荐

  1. java 调用祖父方法_在Java中调用祖父母方法:您不能

    java 调用祖父方法 在文章保护的重点中,我详细介绍了"受保护"如何扩展"包私有"访问. 我在那儿写道: 你能做的是 覆盖子类中的方法或 使用关键字super ...

  2. java static修饰方法_浅析Java中static修饰符

    1.概述 static关键字的中文意思是静态的,该修饰符可以修饰字段.方法.内部类.使用该关键字修饰的内容,在面向对象中static修饰的内容是隶属于类,而不是直接隶属于对象的,所以static修饰的 ...

  3. java序列化的方法_【Java常见序列化与反序列方法总结】

    人和电脑在很多方面都是十分相似的,大脑可以看成电脑主机,五官/身体等表面器官就是显示器.鼠标等外设.这篇文章就是想把计算机跟人做类比YY一下序列化和反序列化的机制.用途. 如果你是初学者,心里肯定会问 ...

  4. java dll 调用方法_关于Java调用dll的方法 | 学步园

    Java语言本身具有跨平台性,如果通过Java调用DLL的技术方便易用,使用Java开发前台界面可以更快速,也能带来跨平台性. Java调用C/C   写好的DLL库时,由于基本数据类型不同.使用字节 ...

  5. java获取随机数方法_《Java语言程序设计》Java获取随机数方法

    <Java语言程序设计>Java获取随机数方法 在Java中我们可以使用java.util.Random类来产生一个随机数发生器.它有两种形式的构造函数,分别是Random()和Rando ...

  6. 学java的正确方法_学习Java编程 这10个技巧不容错过--中享思途

    这是一个国外大神20多年的经验总结出来的-- "任何可能出错的事情,最后都会出错." 这就是人们为什么喜欢进行"防错性程序设计"的原因.偏执的习惯有时很有意义, ...

  7. java的equals方法_在Java中编写完美的equals方法

    相对于C++,Java并没有重载操作符,所以对于非基本类型都需要使用equals方法比较相等性.Object提供了equals方法比较两个对象,但对于用户自定义类而言Object提供的版本仅仅比较两个 ...

  8. java list sublist方法_聊聊ArrayList中的subList方法

    开发过程中遇到的坑 开发过程经常会使用subList做分页处理. 比如下面的代码 while(pageIndex < maxSize) { List temp = userIds.subList ...

  9. java.lang.IllegalArgumentException: 字符[_]在域名中永远无效。 at

    [http-nio-8080-exec-1] org.apache.coyote.AbstractProcessor.parseHost [xxx_tomcat] 是无效主机注意:更多的请求解析错误将 ...

最新文章

  1. 《Android App开发入门:使用Android Studio 2.X开发环境》——导读
  2. Caused by java.lang.UnsatisfiedLinkError Cannot load library
  3. mxnet可视化模型中间层feature map输出
  4. Light Head R-CNN论文笔记
  5. 面向对象:实例化的对象调用类方法 db.Column()
  6. dnn神经网络_【李宏毅机器学习笔记】深度神经网络(DNN)
  7. mysql 排查问题一些小技巧
  8. NVT NT98510 SDK介绍
  9. oracle没有网卡驱动,联想台式机网卡驱动,手把手教你联想台式机网卡驱动
  10. 网站服务器历史解析记录查询,域名解析ip历史查询
  11. QingYan相机隐私政策
  12. linux缺页异常,操作系统缺页异常
  13. new className() new出来的深意
  14. 数据预处理归一化Z-score归一化Min-Max归一化程序
  15. 漫反射辐照——并不是很完全的翻译
  16. 2020年iOS 和Android程序员请开始修炼内功
  17. Xilinx FPGA平台GTX简易使用教程(一)GTX基础知识
  18. 按键精灵加密html,按键精灵加密脚本3电脑费
  19. Android adb命令行调试技巧
  20. 5-黑马旅游网-线路查询

热门文章

  1. 建立Win32 Console Project时会出“error LNK1123” 错误
  2. python字典合并几种方式对比,Python合并两个字典的常用方法与效率比较
  3. Vue+Element导入导出Excel
  4. onpropertychange替代方案
  5. css的fill属性,css column-fill属性怎么用
  6. 程序员如何快速成长为IT精英
  7. Ext grid js上移下移样例
  8. 云计算系统是大规模计算机系统吗,云计算的系统架构及技术探析
  9. 两个向量之间的夹角公式_关于平面向量夹角求参数取值范围的两种基本解法介绍...
  10. react-性能优化