19 System.out.println("counter:" + getCount());
20 }
21
22 public static synchronized int getCount() {
23 return counter++;
24 }
25
26 public static void main(String[] args) {
27
28 for (int i = 0; i < 5; i++) {
29 new NotThreadSafeCounter()。start();
30 }
31 }
32
33 }
View Code
此方法也是线程安全的(AtomicInteger)
1 /**
2 * @Title: ThreadSafeCounter2.java
3 * @Package never.uncategory
4 * @Description: using AtomicInteger for safe counter
5 * @author "Never" xzllc2010#gmail.com
6 * @date Mar 14, 2014 8:14:33 PM
7 */
8 package never.uncategory;
9
10 import java.util.concurrent.atomic.AtomicInteger;
11
12 public class ThreadSafeCounter2 {
13
14 private static AtomicInteger counter = new AtomicInteger(0);
15
16 public void run() {
17 System.out.println("counter:" + getCount());
18 }
19
20 public static int getCount() {
21 return counter.getAndIncrement();
22 }
23
24 public static void main(String[] args) {
25
26 for (int i = 0; i < 5; i++) {
27 new NotThreadSafeCounter()。start();
28 }
29 }
30 }
View Code
时光的尾巴
刚入门,如有疑问,多指教和交流。