Java多线程计数器实现:使用volatile关键字
在increase()方法内,将inc变量的值加1即可实现计数器功能。
package step4;
public class Task {
public volatile int inc = 0;
//请在此添加实现代码
/********** Begin **********/
public void increase() {
inc++;
}
/********** End **********/
public static void main(String[] args) {
final Task test = new Task();
for (int i = 0; i < 10; i++) {
new Thread() {
public void run() {
for (int j = 0; j < 1000; j++)
test.increase();
};
}.start();
}
while (Thread.activeCount() > 1) // 保证前面的线程都执行完
Thread.yield();
System.out.println(test.inc);
}
}
测试说明
预期输出:10000。
原文地址: https://www.cveoy.top/t/topic/nVbt 著作权归作者所有。请勿转载和采集!