多线程:同步

竞争条件

两个及两个以上的线程对同一数据进行存取,可能会引起对共享数据的讹误,这种情况被称为竞争条件。

为了避免数据的讹误,需要同步存取。

同步机制

防止代码块受并发访问的干扰

  1. synchronized关键字
  2. ReentrantLock类(锁和条件)
  3. volatile域进行同步访问
  4. final域的安全访问

但许多情况下使用java.util.concurrent包中机制,处理所有加锁。否则尽量使用synchronized。

猜你喜欢

转载自blog.csdn.net/baidu_25104885/article/details/88044856