有锁与无锁的本质区别

头像很菜不狗 · 提问于2021.08.31浏览量:606

有锁与无锁的本质区别是什么?

全部回答 · 1
最新最热
  • 用户头像
    很菜不狗2021.08.31 15:29

    有锁、无锁的本质都是在解决并发情况下竞态资源的线程安全问题。无锁只是把“排他性”进一步的弱化,以提高并发量,最大限度的使用CPU。 无锁只会在CPU控制权切换的等待,而有锁会在“锁释放”、“CPU控制权切换”两种情况下的等待。 最终无锁情况下,CPU使用率上不去,吞吐量下降,就受系统资源限制了。即使线程量增加,无非增加的是线程CPU控制权的切换成本,统一受CPU的控制调度,出现的也只能是等待了。

热门问题