Wik*_*low 2 java multithreading mutex semaphore volatile
我从线程、信号量、易失性变量等开始。我想知道当我使用信号量时是否有必要将变量定义为易失性,我的意思是:
有 2 个线程,一个增加,另一个减少变量,例如,很明显,在每次访问之前,我有一个互斥锁,可以随时控制只有一个线程在“玩”变量。
有必要定义为 volatile 吗?
来自Semaphore 的API 文档:
内存一致性影响:在调用“释放”方法之前的线程中的操作,例如在另一个线程中成功的“获取”方法之后的
release()发生之前的操作acquire()。
所以读/写由信号量保护的变量是安全的。无需将它们声明为volatile.
| 归档时间: |
|
| 查看次数: |
2204 次 |
| 最近记录: |