原子操作

简介

  • 是指不会被线程调度机制打断的操作
  • 操作一旦开始就一直运行到结束
  • 中间不会有人和 context switch (切换到另一个线程)

线程安全

定义

  • 代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的
  • 或者说:一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程之间的切换不会导致该接口的执行结果存在二义性,也就是说我们不用考虑同步的问题

简介

  • 线程安全问题都是由 全局变量静态变量 引起的
  • 若有多个线程同时执行写操作,一般都需要考虑线程同步,否则的话就可能影响线程安全