同步阻塞

当一个线程调用Lock对象的acquire()方法获得锁时,这把锁就进入“locked”状态。因为每次只有一个线程1可以获得锁,所以如果此时另一个线程2试图获得这个锁,该线程2就会变为“blo同步阻塞状态。直到拥有锁的线程1调用锁的release()方法释放锁之后,该锁进入“unlocked”状态。线程调度程序从处于同步阻塞状态的线程中选择一个来获得锁

(根据一个申请队列来的),

(申请队列顺序一般谁抢到谁排在前面)

并使得该线程进入运行(running)状态。

为的是资源同步共享。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • GCD因为功能强大,操作简便,成为苹果官方推荐使用的多线程API。然而GCD也难只要逃涉及多线程就会遇到的死锁问题...
    nemie阅读 1,907评论 0 3
  • 引用自多线程编程指南应用程序里面多个线程的存在引发了多个执行线程安全访问资源的潜在问题。两个线程同时修改同一资源有...
    Mitchell阅读 2,019评论 1 7
  • 王者荣耀,难得的十黑。前面两局师徒二人一直在一边,战绩一胜一负。但第三局,师徒二人被分到了对立面,师傅用了ad孙尚...
    _朝歌_阅读 631评论 1 1
  • 作为一名初入职场新人,而且连工作内容也完全与专业无关,基本上每天都做错事,光是想着心就碎了一地。 因为工作做错了,...
    loserbaby阅读 2,178评论 0 0
  • 小结 - 上午练琴;下午写作业,运动;晚上值日,洗衣服,洗头,读书。 明日计划 - 上午出去;下午写作业;晚上学习。
    301Cl阅读 148评论 0 1