在这篇日志中,作者详细介绍了synchronized关键字,在文中有一个demo,是用synchronized保证内存可见性的解法。
文末让读者想另一种demo解法,这里是我的解法:
public class SynchronizedDemo implements Runnable {
private static int count = 0;
String lock = "";
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
Thread thread = new Thread(new SynchronizedDemo());
thread.start();
}
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("result: " + count);
}
@Override
public void run() {
synchronized(lock) {
for (int i = 0; i < 1000000; i++) {
count++;
}
}
}
}