智客公社
标题: 清华教授精讲Synchronized,震撼全网 [打印本页]
作者: @Xizi_0PqNrx4K 时间: 2021-7-3 20:14
标题: 清华教授精讲Synchronized,震撼全网
1.简介
1.1 作用
在并发场景中,保证同一时辰只要一个线程对有并发隐患的代码停止操作
1.2 错误案例
需求:两个线程对 count 变量停止200000次循环添加,预期结果是400000次
public class SynchronizedDemo implements Runnable { private static int count = 0; static SynchronizedDemo synchronizedInstance = new SynchronizedDemo(); public static void main(String[] args) { Thread t1 = new Thread(synchronizedInstance); Thread t2 = new Thread(synchronizedInstance); t1.start(); t2.start(); try { t1.join(); t2.join(); System.out.println("count 最终的值为: " + count); } catch (InterruptedException e) { e.printStackTrace(); } } @Override public void run() { synchronized (this) { for (int i = 0; i < 200000; i++) { count++; } } }}结果 :显然不等于400000次所以出现了运算错误