同步与互斥

  • atomic,适用于单个变量的操作,不可分割,无锁操作。
  • spinlock, 忙等,一直占用 cpu, 只能由于非常短的临界区,比较适合多核系统。
  • semaphore, 用于多个线程访问临界资源,阻塞睡眠。
  • mutex, 只有一个线程访问临界资源,阻塞睡眠,比 spinlock 更加适合单核系统。

发表评论