【发布时间】:2015-07-20 10:05:41
【问题描述】:
我从线程、信号量、可变变量等开始。 我想知道当我使用信号量时是否有必要将变量定义为 volatile,我的意思是:
有 2 个线程,一个增加,另一个减少变量,例如,显然,在每次访问之前,我有一个互斥锁,随时控制只有一个线程在“播放”变量。
需要定义为 volatile 吗?
【问题讨论】:
-
为什么不使用
AtomicLong进行此类操作?在同一个整数上正确有效地实现并发操作并不容易。 JDK 中有现成的类可以为您完成这项工作。 -
你为什么在这里使用信号量?
标签: java multithreading mutex semaphore volatile