问题标签 [barrier]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
992 浏览

multithreading - 在多线程应用程序中使用屏障的真实示例是什么?

JDK 的并发包、Boost 的线程库、Perl 的线程库(虽然不是在 Python 中)都实现了屏障,我还没有遇到过使用屏障的需要,所以想知道多线程应用程序中的典型用例是什么。

0 投票
3 回答
10562 浏览

mpi - MPI 屏障 C++

我想在 Windows 上使用 MPI (MPICH2)。我写了这个命令:

而且我希望它会阻止所有处理器,直到所有组成员都调用它。但它不会发生。我添加了我的代码示意图:

(使用 2 个处理器:) 根处理器 ( 0) 动作正确,但排名为 1 的处理器不知道该a变量,因此它显示-858993460而不是4.

谁能帮我?
问候

0 投票
3 回答
2209 浏览

c++ - 测试 MPI_Barrier C++

我如何确定 MPI_Barrier 动作正确?测试的方法是什么?
谢谢

0 投票
4 回答
1801 浏览

c - 线程同步的障碍

我正在创建 n 个线程,然后在障碍击穿后开始执行。

在全局数据空间中:

在 main() 中:

在线程运行器功能中:

预期顺序:

实际订单:( 反复测试)

有人可以解释为什么我在"broken down"消息之前没有收到"already occurred"消息吗?

0 投票
1 回答
3413 浏览

c - Pthread 屏障与循环连接

所以我在 C 中的问题是:与在循环中使用 pthread Join 相比,使用 pthread 屏障(init 和 wait..etc)基本上有什么区别(可能是优点和缺点)。

所以说我在一个循环中创建了 10 个线程,然后在我想要屏障的地方,我放置了一个循环来为所有线程执行 Join。那岂不是也起到了屏障的作用?

请说清楚。谢谢!

0 投票
2 回答
1724 浏览

c++ - 共享内存中进程间的屏障实现

我正在寻找一个进程间障碍实现。进程在共享内存中(即在同一个 ndoe 上)。

进程是 MPI 的。我不想使用 MPI_Barrier 函数,因为所有 MPI 实现的一般策略是主动等待。我希望我的进程只要等待就休眠。

限制:

  • 应该在 C 中,也许在 C++ 中
  • 没有自旋锁,所以它可以使用信号量
  • 操作系统

我相信它存在成千上万的障碍实现,但我没有找到任何障碍?!

谢谢

0 投票
1 回答
2412 浏览

c - MPI_BARRIER 不工作

为什么这里的屏障不起作用?如果我使用它,程序会被阻塞,否则我会以奇怪的顺序得到输出:

代码:

}

0 投票
1 回答
2946 浏览

multithreading - 可重用的屏障算法

我正在研究“信号量小书”一书中的可重用屏障算法(在此处存档)。

谜题在第 31 页(基本同步模式/可重用障碍),我想出了一个“解决方案”(或不是),它不同于书中的解决方案(两阶段障碍)。

这是每个线程的“代码”:

这似乎确实有效,我什至在线程的不同部分插入了不同的睡眠计时器,它们仍然等待所有线程都来,然后再继续每个循环。我错过了什么吗?有没有条件会失败?

我已经使用 Windows 库SemaphoreMutex函数实现了这一点。

更新:

谢谢starblue回答。事实证明,如果由于某种原因线程之间的速度很慢,mutex.release()并且在完整循环后semaphore.wait()到达的任何线程semaphore.wait()都将能够再次通过,因为将N留下一个未使用的信号。

在对线程号 3 发出Sleep命令后,我得到了这样的结果,其中可以看到线程 3 第一次错过了一个回合,线程 1 完成了 2 个回合,然后在第二个回合赶上了(实际上是它的第一回合)。

再次感谢大家的投入。

0 投票
1 回答
162 浏览

c# - 在 C# 中是否需要跨内存屏障访问不可变对象?

当一个不可变对象在一个线程中新建并在第二个线程中共享(例如作为共享对象的一个​​字段)时,第二个线程不应该同步吗?

x.DoSomething() 之前应该有内存屏障吗?是否有可能在第一个线程中对 x 的分配对第二个线程永远不可见?.NET 的安全发布模式是什么?

0 投票
1 回答
721 浏览

css - inline svg - 如何将浏览器默认样式应用于foreignObject中的xhtml?

foreignObject我有一个包含 xhtml 片段的元素的内联 svg 。但是,由于 svg 及其父 html 文档(即 jqtouch 库)中通过 js 设置的样式的串扰,xhtml 内容的样式不正确。因此我想将浏览器默认样式应用于我foreignObject的 s 的孩子。因此我需要参考浏览器默认样式表。有人知道怎么做这个吗 ?对于 safari,我可能会从 webkit 源中获取它,但我更喜欢在浏览器升级后不需要跟踪修改的解决方案。

使用本机 svg 文本元素不是一个选项,因为自动换行是强制性的。既不是 ...

  • 将内联 svg 子树移出顶级 css 范围。
  • 修改有问题的顶级 css(事实上,修改每个 css 选择器并为foreignObjects 之外的每个元素添加一个唯一的 css 类可能成为一种选择,如果它可以以编程方式和有效地完成。希望有一个更优雅的解决方案?)

平台:safari 5.0.3 ( 7533.19.4 ) win xp sp3

预先感谢您的努力

最好的问候,卡斯滕