Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
C++ 中的“伪原子”操作
所以我知道 C 中没有什么是原子的 但我试图弄清楚是否可以做出任何 伪原子 假设 原因是我想避免在一些简单的情况下使用互斥体 在这些情况下我只需要非常弱的保证 1 假设我有全局定义的 volatile bool b 其中 最初我设置为tru
c
Multithreading
atomic
volatile
Java 易失性是否会阻止缓存或强制执行直写式缓存?
我正在尝试理解Javavolatile关键词关于writing具有 CPU 缓存的多线程程序中的易失性原子变量 我读过一些教程和 Java 语言规范 特别是第 17 4 5 节 在订购之前发生 http docs oracle com ja
Java
Multithreading
caching
concurrency
volatile
Java 线程/易失性
我有一个线程 class Foo extends Thread boolean active true public void run while active do stuff public void end active false p
Java
Multithreading
volatile
C++ - 传递给线程的数据应该是易失性的吗?
在 Microsoft Visual C 中 我可以调用 CreateThread 通过使用一个函数启动一个线程来创建线程void 范围 我将一个指向结构的指针作为该参数传递 并且我看到很多其他人也这样做 我的问题是 如果我传递一个指向结构
c
visualc
threadsafety
volatile
如何在 C++ 中将使用 malloc 创建的数组声明为易失性
我认为下面会给我 10 个易失性整数 volatile int foo 10 但是 我不认为以下内容会做同样的事情 volatile int foo foo malloc sizeof int 10 如果我对此以及如何使用 malloc 拥
c
Multithreading
Arrays
malloc
volatile
易失性如何与常量一起工作?
我有这段代码 像往常一样 变量 local 的值保持不变 因为它是const const int local 10 int ptr int local printf Initial value of local d n local ptr
c
pointers
constants
volatile
在 Java 中使用 volatile 关键字的完整示例?
我需要一个简单的使用示例volatileJava 中的关键字 由于不使用而导致行为不一致volatile 理论部分volatile用法对我来说已经很清楚了 首先 没有保证由于非易失性变量而暴露缓存的方式 您的 JVM 可能一直对您非常友善
Java
volatile
具有易失性或锁定的属性
我有一个带有支持字段的属性 我想使其线程安全 获取和设置 get和set方法除了设置和返回之外没有任何逻辑 我认为有两种方法可以将逻辑封装在属性 self 中 易失性和锁定 我对两者的理解是正确的还是有错误 以下是我的例子 public c
c
NET
Multithreading
locking
volatile
易失性数组的替代方案
从其他问题中 我了解到易失性数组的元素不是易失性的 只有引用本身是不稳定的 volatile int data Thread A data 4 457 Thread B System out println data 4 在这里 线程 B
Java
Arrays
Synchronized
volatile
java14
易失性是否足以更改对列表的引用?
假设我们有一个列表引用 volatile List a 现在线程 1 初始化它 List newA new LinkedList lt gt newA add new String a Write to a volatile a newA
Java
concurrency
volatile
type_info 不考虑简历限定符:这是对的吗?
此代码打印 1 是正确的行为还是 g 4 5 的怪癖 include
c
g
constants
volatile
RTTI
Java 中 volatile 关键字最简单易懂的示例
我正在读关于volatileJava 中的关键字并完全理解其中的理论部分 但是 我正在寻找的是一个很好的案例 它展示了如果变量不存在会发生什么volatile如果是的话 下面的代码片段无法按预期工作 摘自here https stackov
Java
Multithreading
concurrency
volatile
在中断例程中使用 C++ 对象(和易失性对象)的正确方法是什么?
我目前正在使用 Atmel AVR 微控制器 gcc 但希望答案适用于一般微控制器世界 即通常是单线程但带有中断 我知道如何使用volatile在 C 代码中访问可在 ISR 中修改的变量时 例如 uint8 t g pushIndex 0
c
interrupt
volatile
isr
为什么将函数参数标记为易失性
我目前正在阅读PostgreSQL https github com postgres postgres代码 以下是缓冲区管理器的摘录 static void WaitIO volatile BufferDesc buf static bo
c
parameters
volatile
*(int*)NULL = 1 导致线程崩溃;有问题吗?
我在多线程 C 应用程序中发现了这个 作者评论说它用于在自定义断言函数中造成线程崩溃 GCC 对此没有问题 但 clang 发出以下警告 note consider using builtin trap or qualifying poin
c
Clang
assert
volatile
gccwarning
为什么这个程序在布尔条件变量不存在波动的情况下不会进入无限循环?
我想了解何时需要将变量声明为易失性 为此 我编写了一个小程序 并期望它由于缺少条件变量的波动性而进入无限循环 它没有进入无限循环 并且在没有 volatile 关键字的情况下工作正常 两个问题 我应该在下面的代码清单中更改什么 以便它绝对需
c
NET
Multithreading
volatile
将对象声明为易失性对象
如果在Java中将一个成员变量声明为易失性 这是否意味着该对象的所有数据都存储在易失性内存中 或者对该对象的引用存储在易失性内存中 例如 如果我有以下课程 class C int i 0 char c c 如果我按如下方式声明它的实例 pr
Java
Multithreading
volatile
Java 和 C# 中易失性语义背后的原因是什么
C 和 Java 都定义了这一点 易失性读取具有获取语义 易失性写入具有释放语义 我的问题是 这是定义 volatile 的唯一正确方法吗 If not will things be awfully different if the sem
c
Java
Multithreading
multiprocessing
volatile
了解 Java 易失性可见性
我正在阅读有关 Java 的内容volatile关键字并对它的 可见性 感到困惑 volatile 关键字的典型用法是 volatile boolean ready false int value 0 void publisher valu
Java
Multithreading
caching
volatile
强制转换中的中间指针必须是“const 限定的” - 为什么?
在下面的代码中 include
c
gcc
constants
volatile
«
1
2
3
4
5
6
7
...9
»