在invokeAll之后执行器任务的所有副作用都可见吗?
如果我使用 invokeAll 向 Executor 提交一些任务,我能否保证提交的线程看到任务执行的所有副作用,即使我不调用 get() 在每个返回的 Future 上? 从…
`std::kill_dependency` 有什么作用,为什么我想使用它?
我一直在阅读有关新的 C++11 内存模型的信息,并且遇到了 std::kill_dependency 函数 (§29.3/14-15)。我很难理解为什么我想使用它。 我在 N2664 提案…
C++11 引入了标准化内存模型。这是什么意思?它将如何影响 C++编程?
C++11 引入了标准化内存模型,但这到底意味着什么?它将如何影响 C++ 编程? 这篇文章(作者:Gavin ClarkeHerb 的strong>萨特)说, 内存模型意味着C…
Qt4 Creator/QMAKE 相当于“-mcmodel=medium” GCC 编译器设置
我正在使用 Qt Creator 为 Linux 上内存相当密集的 C++ 应用程序创建 GUI。为了使应用程序正常运行,必须在编译期间设置 -mcmodel=medium 编译器标志…
C++0x 中的栅栏,一般只保证原子或内存
C++0x 草案有一个栅栏的概念,似乎与 CPU/芯片级别的栅栏概念非常不同,或者说一下 Linux 内核人员对栅栏的期望栅栏.问题是草案是否真的暗示了一种极…
写入周围的锁是否能保证另一个线程中的新读取? (.Net,内存模型)
假设我有一个属性,其 setter 受锁保护,但 getter 周围没有任何锁,例如, private long _myField; public long MyProperty { get { return _myField…
绑定视图模型属性在后台线程中更新; UI 总是会看到更新后的值吗?
如果我有一些(非易失性)数据通过视图模型绑定到 UI,并且我从后台线程更新此数据而不锁定任何内容,并触发 PropertyChanged 事件,我是 保证 UI 会…
关于Cuda 4.0和统一内存模型的问题
Nvidia 似乎在宣扬 Cuda 4.0 允许程序员在 CPU 和 GPU 之间使用统一的内存模型。这不会取代在 GPU 和 CPU 中手动管理内存以获得最佳性能的需要,但它…
使用布尔值进行双重检查习语
采用以下 java 代码: public class SomeClass { private boolean initialized = false; private final List someList; public SomeClass() { someLis…
取消引用字段时是否需要内存屏障(.net x86 或 x64)?
在如下代码中,如果 Proc1 和 Proc2 在不同的处理器上同时执行,ThingVal2 是否有可能获得 5 以外的值(例如零)? Class SimpleThing Public X As In…