Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
信号处理程序和多线程的易失性
据说信号处理程序需要 volatile 例如 volatile int flag 1 volatile is needed here void run while flag do someting void signal handler i
c
Multithreading
volatile
释放 (vfree-ing) 指向易失性数据的指针
volatile似乎是每个人永无止境的问题 我以为我已经知道了一切 但后来我遇到了这个 所以 我有一块在线程之间共享的内存 我这样定义它 volatile type name 如果这让你感觉好一点 你可以想象type只是一个int 这意味着
c
Linuxkernel
volatile
vmalloc
为什么 Java 中的 volatile 不更新变量的值?
我读过Java中的 易失性 允许不同的线程访问同一字段并查看其他线程对该字段所做的更改 如果是这种情况 我预测当第一个和第二个线程完全运行时 d 的值将增加到 4 但相反 每个线程都会将 d 增加到值 2 public class Vola
Java
Multithreading
volatile
只在 ISR 中读取的变量是否为 易失性?
Is volatile需要一个在主循环中读写但在 ISR 中只读的变量吗 编辑 在编写 main 时 ISR 被禁用 因此 该变量被有效地原子地使用 EDIT 非常相关 中断的易失性与内存屏障 volatile是一种不好的同步访问方式 这是
c
interrupt
volatile
C 语言中哪些地方需要使用 volatile 关键字
我知道 volatile 关键字会阻止编译器优化变量并在读取变量时从内存中读取它 除了内存映射寄存器之外 还有哪些情况需要使用易失性呢 给定一个合格的编译器 我是否必须在这两种情况下将 test var 声明为易失性 1 在文件1 c中 i
c
Embedded
Driver
volatile
“挥发性”关键字的用途是什么?
我读过一些关于volatile关键字 但我无法弄清楚它的正确用法 你能告诉我它在 C 和 Java 中的用途吗 考虑这个例子 int i 5 System out println i 编译器可能会对此进行优化 只打印 5 如下所示 Syst
c
Java
volatile
为什么易失性不能正常工作
今天我正在使用以下命令创建一项超时作业TimerTask但遇到了一个新问题 我有一个static volatile boolean多变的flag 我的理解是 一旦这个变量的值发生变化 所有正在运行的都会通知它thread 但是当我运行这个程
Java
Multithreading
static
volatile
为什么 Unsafe.fullFence() 不能确保我的示例中的可见性?
我正在尝试深入研究volatileJava 中的关键字和设置 2 测试环境 我相信它们都使用 x86 64 并使用热点 Java version 1 8 0 232 CPU AMD Ryzen 7 8Core Java version 1
Java
x86
volatile
jvmhotspot
memorybarriers
易失性、互锁性、锁定性
假设一个类有一个public int counter由多个线程访问的字段 这int仅递增或递减 要增加此字段 应使用哪种方法 为什么 lock this locker this counter Interlocked Increment r
c
Multithreading
locking
volatile
Interlocked
我应该使用同步方法来改变该字段吗?
随着接下来的课程 This class should be thread safe class BankAccount private long balance Should it be volatile synchronized void
Java
Multithreading
Synchronized
volatile
一java内存刷新易失性:一个好的程序设计?
这是与此相关的问题 java 在一个变量上使用 易失性 VS 每个变量 我有一个或多个不同的对象 我想改变其中的某些状态 然后我想让该状态对其他线程可见 出于性能原因 我不想使该对象中的每个成员变量都是易失性的 有时我想在单线程应用程序中使
Java
Multithreading
DesignPatterns
concurrency
volatile
如果线程 B 希望看到线程 A 所做的更改,是否只能对 volatile 变量进行最后的更改,而不是对所有变量进行更改?
我看过这个答案 并说明了如何 在新的内存模型下 当线程A写入易失性 变量 V 线程 B 从 V 读取任何变量值 现在保证在写入 V 时对 A 可见 对 B 可见 因此 给出示例 public class Main static int va
Java
Multithreading
volatile
javamemorymodel
memoryvisibility
包装函数的内联汇编器由于某种原因不起作用
我正在尝试为 read 系统调用编写一个包装函数 使用 asm 易失性 但它不会工作 因为 res 不会改变它的值 这是代码 ssize t my read int fd void buf size t count ssize t res
c
Assembly
volatile
systemcalls
什么时候需要在 ISR 中使用 volatile?
我正在制作嵌入式固件 初始化后的所有事情都发生在 ISR 中 我有它们之间共享的变量 我想知道在什么情况下它们需要是易失性的 我从不阻塞 等待另一个 ISR 的变化 在不使用易失性的情况下 什么时候可以确定实际内存已被读取或写入 每个 IS
c
volatile
interrupthandling
c# - 易失性关键字使用与锁定
我在不确定是否有必要的地方使用了 volatile 我很确定在我的情况下锁是多余的 阅读这篇文章 Eric Lippert 评论 让我对 volatile 的使用感到焦虑 C 中什么时候应该使用 volatile 关键字 我使用 volat
c
Multithreading
performance
Dispatcher
volatile
在 boost::shared_ptr 运算符 bool() 上旋转时需要 C++ 易失性吗? [复制]
这个问题在这里已经有答案了 可能的重复 何时在多线程中使用 易失性 我有两个线程引用相同的内容boost shared ptr boost shared ptr
c
Multithreading
boost
sharedptr
volatile
Java 不稳定的并发性
好的 我刚刚读了这个问题你在 Java 中使用过 volatile 关键字吗 并且我使用易失性变量来停止循环 我也看过这个参考资料 http www javamex com tutorials synchronization volatil
Java
concurrency
volatile
易失性和编译器优化
如果关闭编译器优化 即 gcc o0 可以说 易失性 关键字没有区别吗 我制作了一些示例 C 程序 并且仅当打开编译器优化时才在生成的汇编代码中看到易失性和非易失性之间的差异 即 gcc o1 不 这样的说法没有任何依据 volatile具
c
compileroptimization
volatile
如何理解读内存屏障和易失性
有些语言提供了volatile修饰符被描述为在读取支持变量的内存之前执行 读内存屏障 读内存屏障通常被描述为一种确保 CPU 在执行屏障之后请求的读取之前已执行屏障之前请求的读取的方法 然而 使用这个定义 似乎仍然可以读取过时的值 换句话说
Multithreading
volatile
memorybarriers
使用双重检查锁定实现单例时,我们是否需要 易失性
假设我们使用双重检查锁来实现单例模式 private static Singleton instance private static Object lock new Object public static Singleton getIn
Java
singleton
Synchronized
volatile
«
1 ...
3
4
5
6
7
8
9
»