当前位置: 首页 > 面试题库 >

在Java中,“同步”是什么意思?

嵇弘新
2023-03-14
问题内容

我一直在尝试学习设计模式。该网站使用synchronized关键字,但我不知道它的作用。

我在网上搜索后发现,它与多线程和内存有一定关系,但是我是机械工程师,不知道这意味着什么。

有人可以帮我理解线程和synchronized关键字吗?


问题答案:

synchronizedC ++中没有关键字。

但是,在Java中有一种方法对于方法来说意味着以下两件事:

* 同一对象上的两个同步方法调用不可能交错。当一个线程正在为对象执行同步方法时,所有其他为同一对象块调用同步方法的线程(挂起执行),直到第一个线程对该对象完成。
* 当同步方法退出时,它会与随后对同一对象的同步方法的任何调用自动建立事前发生关系。这样可以保证对对象状态的更改对所有线程都是可见的。


类似的规则适用于任意块。

另外,我建议您从经过同行评审的书中学习,而不是从一些随意的非权威网站中学习。



 类似资料:
  • 问题内容: 我已经看到了声明,接口和类 这是什么意思? 问题答案: 没有证据,我相信您在谈论Java的泛型支持… 泛型允许您抽象类型 在Java 5之前,很难提供能够支持多种不同类型的Objects的类而不必为每种特定情况编写代码,因此人们通常会这样做。 这导致在运行时做出许多困难的选择,您必须进行运行时检查以查看是否有可能将给定的Object强制转换为可用类型…例如 现在,这已经很明显了,但是如

  • 我发现这段代码是为了在SO post中找到重复的代码。但我不明白这行是什么意思

  • 问题内容: 我正在学习上面的代码,它告诉我什么是自省者和什么是stopClass。但是我不明白这是什么意思?`for (PropertyDescriptor prop props) for(i=0;i<100;i++)` 有人可以帮忙进一步解释吗?谢谢! 问题答案: 这就是 Java 5中引入的每种循环语法。

  • 问题内容: 我的问题如上所述。抱歉,可能是重复的,但最后找不到一个示例。 为什么不只使用它作为参数? 问题答案: 是可参数化的类,因此可以使用where 类型的语法。通过编写,您可以声明一个可以是任何类型的对象(是通配符)。该类型是包含类元信息的类型。 通过指定特定类型来引用泛型类型始终是一种好习惯,这是通过尊重您的习惯(您知道可参数化的)来使用的,但并不限制参数具有特定类型。 有关泛型和通配符的

  • 问题内容: 我有一个程序试图缩小到所需的数量。我得到的输出是。 在Java 中是什么意思? 问题答案: “ NaN”代表“不是数字”。如果浮点运算具有一些输入参数,导致该运算产生一些未定义的结果,则会生成“ Nan”。例如,0.0除以0.0在算术上是不确定的。负数的平方根也是不确定的。

  • 在Java中是什么意思?例如,如果我创建了一个名为的类。返回什么?