在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。

Java多线程计数器实现:使用volatile关键字

原文地址: https://www.cveoy.top/t/topic/nVbt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录