- 1 public class Counter {
- 2 3 public static int count = 0;
- 4 5 public static void inc() {
- 6 7 //这里延迟1毫秒,使得结果明显
- 8
- try {
- 9 Thread.sleep(1);
- 10
- } catch(InterruptedException e) {
- 11
- }
- 12 13 count++;
- 14
- }
- 15 16 public static void main(String[] args) {
- 17 18 //同时启动1000个线程,去进行i++计算,看看实际结果
- 19 20
- for (int i = 0; i < 1000; i++) {
- 21 new Thread(new Runnable() {
- 22@Override 23 public void run() {
- 24 Counter.inc();
- 25
- }
- 26
- }).start();
- 27
- }
- 28 29 //这里每次运行的值都有可能不同,可能为1000
- 30 System.out.println("运行结果:Counter.count=" + Counter.count);
- 31
- }
- 32
- }
- 33 34
- /*运行结果:Counter.count=995*/
来源: