【发布时间】:2012-11-28 05:52:34
【问题描述】:
在使用多线程时,我学会了使用静态变量,只要我想使用将被多线程访问的计数器。
例子:
static int count=0; 然后在程序的后面我将其用作count++;。
今天我遇到了一个叫做AtomicInteger 的东西,我还了解到它是线程安全的,可以使用它的一种叫做getAndInrement() 的方法来达到同样的效果。
谁能帮助我了解使用static atomicInteger 与static int count 的区别?
【问题讨论】:
-
您必须自己保护对
int的并发访问。但是,AtomicInteger被设计为线程安全的。 -
static与多线程无关。 -
据我了解,我们在多线程环境中使用 volatile 变量而不是静态变量。