8得票1回答
在调用invokeLater()或invokeAndWait()时,是否给出happens-before关系?

我相信是这样的,但我想确保一下 - 在 invokeLater() 或 invokeAndWait() 的情况下是否给出 happens-before 关系? 这些方法在 (SwingUtilities 或 AWT.EventQueue) 中定义。我猜测当事件队列中有东西输入时会涉及到同步,...

8得票1回答
Java中的最终多线程保证与内存模型有什么关系?

内存模型的定义在17.4. 内存模型中。 final字段的多线程保证在17.5. final字段语义中给出。 我不明白为什么这些是分开的部分。 AFAIK,final和内存模型都提供了一些保证。 任何真正的程序执行都必须遵守这两个保证。 但现在还不清楚final的保证是否适用于用于验证因...

8得票1回答
深度易失性发布的保证是什么?

众所周知,如果我们拥有某个对象引用,并且此引用具有final字段,则我们将从final字段中看到所有可访问的字段(至少在构造函数完成时是这样)。 示例1: class Foo{ private final Map map; Foo(){ map = ne...

7得票5回答
Java内存模型中的先行发生规则

我目前正在准备并发编程考试,但不理解为什么这个程序的输出结果是43。为什么x = y + 1在t.start()之前执行?我也需要解释一下使用了哪些happens-before规则。 如果我理解了程序执行顺序规则(线程中的每个操作都happens-before该线程程序顺序中后来的每个操作)...

7得票1回答
这种非标准的Java同步模式是否可行?

假设我有两个线程运行如下: 线程A执行计算并同时更新共享图像的像素 线程B定期读取图像并将其复制到屏幕上 线程A的工作速度很快,比如每秒1百万次更新,因此我怀疑在锁/互斥锁/监视器上频繁加锁和解锁可能是不好的想法。但是如果没有锁和没有办法从线程A到线程B建立happens-before...

7得票2回答
"Partial Ordering"和Happens-before关系java 部分排序和先于发生关系是Java中的两个概念。

我正在阅读 Java并发编程实战。 对于 happens-before 关系的具体解释,我感到困惑。 它指出: 操作通过称为 happens-before 的偏序列进行排序。 “偏序列”究竟是什么意思? (书中有一个解释,但对我来说不太清楚。)

7得票2回答
Java的Lock对象是否强制实施happens-before关系?

Java在并发包中提供了Lock对象,根据文档显示,它提供的锁定操作比使用同步方法和语句更加广泛。同步方法/块除了相互排斥之外,还强制执行happens-before关系,确保一个线程对变量所做的更改对其他线程可见。当使用Lock对象时,是否会出现这种关系?观察是否像在所有平台上使用同步块一样...