竞态 synchronized关键字

多线程编程中对于同样的输入,结果时而正确时而错误的现象称为竞态。正确性与时间相关。
竞态的两种模式
read-modify-write
check-then-act
产生竞态的一般条件:
设O1,O2并发访问共享变量V的两个操作。如果一个线程在执行O1期间另一个线程在执行O2,那么无论O2是在执行读取还是更新V都会导致竞态。

避免竞态的方法
1.尽量使用局部变量
2.使用synchronized关键字修饰方法;在任一时刻只能被一个线程执行

synchronized 内部锁仅提供非公平调度策略

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,506评论 11 349
  • 1、多线程有什么用? 一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答...
    程序员技术圈阅读 4,449评论 0 13
  • 加入007之后一直感觉交作业、写文章是一件比较费时间,比较痛苦的事情。这个周末突然想起前公司有一位内容创作专业的同...
    Garry_626c阅读 1,499评论 0 0
  • 本文参与#漫步青春#征文活动,作者:侯小杰,本人承诺,文章内容为原创,且未在其他平台发布。 慢下来,亦是一种智...
    十九的小猫咪阅读 3,244评论 0 1
  • 今天在家吃完早餐,带孩子们去乡下爷爷家扫墓。一路上在孩子们“ 清明时节雨纷纷,路上行人欲断魂。借问酒家何处有,...
    豆月妈阅读 1,202评论 0 0

友情链接更多精彩内容