代码点读机 / Java / synchronized

synchronized Java · 关键字

保证同一时刻只有一个线程执行某段代码,防止多线程同时修改数据出错。

怎么用

synchronized(锁对象) { 代码 }

小例子

class 计数器 {
  int count = 0;
  void 增加() {
    synchronized(this) { count++; }
  }
}

运行结果

count 自增不会被打断

提醒:锁对象一般选 this 或专用的 Object

官方文档:https://docs.oracle.com/javase/tutorial/essential/concurrency/locksync.html

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← Java全部词条