沧州三亚菏泽经济预测自然
投稿投诉
自然科学
知识物理
化学生物
地理解释
预测理解
本质社会
人类现象
行为研究
经济政治
心理结构
关系指导
人文遗产
菏泽德阳
山西湖州
宝鸡上海
茂名内江
三亚信阳
长春北海
西安安徽
黄石烟台
沧州湛江
肇庆鹤壁
六安韶关
成都钦州

程序员经典面试题并发,容易带来哪些问题?

12月8日 老巫婆投稿
  编程对于很多人来说,还是比较好上手的。当你学会了一门语言,可以编写一些程序了,很快就会遇到一道坎,并发编程,单线程下好好跑着的程序,怎么就运行异常了?怎么就得不到期望的结果。在面试中,并发编程也是经常出现,我们今天来讨论一个问题,并发编程,容易出哪些问题?
  违反原子操作
  相信大家在学习并发编程的时候,都会遇到这样一个经典问题,有一个函数,执行ii1,执行1000遍。在单线程的环境下,得到的结果都是预期的1000。如果是两个线程同时运行,那么,得到的结果可能是2000,也有可能小于2000。
  这是因为ii1不是一个原子操作,我们会获取i的值,然后执行一次加法运算,最后将结果赋值给i。当多个线程执行的时候,获取到的i的值之后,在执行后面的动作之前,另外一个线程已经修改了i,造成最终的结果小于2000。违反执行顺序
  并发编程的时候,我们往往无法确定多个线程之间的执行顺序,经常我们会出现这样一个错误。我们在一个线程中使用的变量,会在另外一个线程中进行初始化或者赋值。最常见的,便是我们在主线程上创建一个子线程,然后再进行变量的初始化,子线程的执行可能早于父线程,造成程序错误。锁与死锁
  为了解决并发问题,我们通常会引入锁、信号、信号量等手段来保证临界区只会被一个线程访问,或者让一个线程等待另外一个线程执行完成。但是,引入锁之后,我们又可能会出现死锁的问题,例如:线程1与线程2都需要抢占AB两把锁,假设线程1先抢占了A锁,线程2抢占了B锁,这个时候,线程1在等待B锁,线程2在等待A锁,就这样,等到海枯石烂,我们称之为死锁。
  出现死锁,需要同时满足下面几个条件:1。线程需要对需要的资源进行互斥访问(例如一个线程抢到锁)2。持有并等待(例如一个线程抢到了A锁,然后在等待B锁)3。非抢占(线程抢到了锁之后,不能被其他线程抢到)4。循环等待,线程之前存在一个环路。
  那么,如何解决死锁的问题呢?既然出现死锁需要同时满足上面的几个条件,那么,我们只要破坏其中一个条件,就能够避免死锁问题。不使用锁。死锁的需要对互斥资源进行访问,那么,我们能否不使用互斥资源呢?好在,当代的操作系统已经为我们提供了强大的原子操作指令,例如ComareAndSwap命令,在硬件上,保证Compare跟Swap在执行过程中不会被中断。调整锁的顺序,避免产生循环等待。在上述例子中,线程1与线程2都需要AB两个锁,假如我们调整下顺序,都是先抢占A锁,再抢占B锁。这样就解决了循环等待的问题。引入一个更高层级的锁,在现实开发中,我们很难去解决锁的顺序问题,我们的代码可能已经封装成类,库,并且锁的数量可能也非常多。那么,我们可以引入一个更高层级的锁,例如上述例子中,我们可以引入一个C锁,在程序执行之前,谁先抢到C锁,再去尝试抢占AB锁。当然,这样做的代价,会让程序的并发能力变低。非抢占,我们一旦一个线程抢到锁之后,就会持有这个锁,其他线程都抢不到。那么,我们可以引入这样一种解决思路,如果一个线程,在等待下一个锁的时间过长,那么,我们就把之前的锁也释放掉,这样,别的线程就能够抢到这个锁,避免死锁的产生。通过调度避免死锁,如果能够在程序设计之初,就避免死锁,那是再好不过了。上面的调整锁顺序是一种方式,避免抢占同一个锁的线程并发执行也是一种方式。特别是在嵌入式系统中,程序往往相对简单,我们可以通过这种方法进行解决。死锁的检查与恢复。如果死锁是偶然发生的,例如几年才出现1次,但是解决死锁的难度又很大,我们可以等到死锁出现再解决。这就需要死锁检测技术,在检测到死锁之后,可以重启系统或者进行修复。
  今天,我们了解到并发编程带来的问题与解决方案,希望对你在平时的工作或者面试有所帮助。
投诉 评论

长平之战之前秦国为什么要攻占上党很多人都知道长平之战,也一直都对白起坑杀赵国四十万战俘的事情深信不疑,只是今天要说的却不是这件事情。长平之战的战况的确是很惨烈,但是为什么会爆发长平之战呢?当时秦国攻打韩国,韩……委派财务总监述职述廉述学报告自20年11月集团委派财务总监对公司进行财务监管以来,本人能够严格按照集团相关要求,展开财务监督工作,有效的维护了国有资金的合理、规范使用。根据《集团20年度子公司工作目标绩效……孕妇侧睡枕有好处吗女性在妊娠期是非常辛苦,特别是对于一些妊娠反应大的女性来说更是如此,而且随着胎儿的生长发育,妈妈承受的痛苦就越多,到了孕晚期阶段,睡觉对孕妇来说是一个考验。那么孕妇侧睡枕有好处……父爱如山其实大家都时常说到母爱如海,但却很少有人说父爱如山,今天的一个酒席,就让我深深的感受到了父亲对孩子的爱。今天婚宴中的一个项目让我印象很深,也就是说父亲将女儿的手交给女婿,……关于广州光孝寺的禅宗故事广东四大名刹:潮州开元寺、韶关南华寺、广州光孝寺和肇庆庆云寺。今天我们要讲讲的是广州光孝寺。光孝寺位于广州市越秀区光孝路北端近净慧路。创建于梁朝已经有几千年的历史,……线切割气线切割这种设备据我的所知是机械行业里制作模具的精密工具我们老单位也有但却只是闻听没有具体的概念留存,它好像是需要电脑的控制因此需要简单的事先编程才可以操作自动对工件的精加工就如……为什么有些女生只涂口红不化妆?你们有没有看《法证先锋5》呀?哎呀,真是太怀念了最近我特别迷港式妆容,大红唇波浪卷长发,风情万种,真的美呆我了!But!说到大红唇我就郁闷了,为什么有人涂红一点的口……程序员经典面试题并发,容易带来哪些问题?编程对于很多人来说,还是比较好上手的。当你学会了一门语言,可以编写一些程序了,很快就会遇到一道坎,并发编程,单线程下好好跑着的程序,怎么就运行异常了?怎么就得不到期望的结果。在……腾讯阿里相继杀入商业地产的台前幕后不久前,我参加了全国商业地产半年度经济形势分析会,进一步了解了中国商业地产的发展情况。今年上半年,很多行业都处于低迷萧条的状态,但是商业地产却一路高歌猛进。除了老牌的商业……少女小渔主要剧情内容简介及赏析《少女小渔》1995彩色片103分钟中国台湾中央电影事业股份有限公司摄制导演:张艾嘉编剧:张艾嘉严歌苓摄影:乔迪萨尔夫主要演员:刘若英(饰小渔)庹宗华(饰江伟)丹尼尔楚维……中国教育史读书笔记英国哲学家弗朗西斯培根在《论学问》中提到:读史使人明智。作为一名教育工作者,了解国内外教育史、古今中外各种教育流派,尤其那些有影响力的教育家及其思想何其重要!当然,仅粗略读过《……河南最孤独学校仅有一个老师和学生让人心酸河南最孤独学校,学校本应该是一个充满学生欢声笑语的地方,但是在河南省淇县却有一所名叫油城学校格外安静,因为这所学校只有一个老师一个学生,也被称之为河南最孤独学校,油城学校到底是……
CBA排名广厦26分大胜稳居榜首!广东4连胜居次席,辽宁跌出CBA联赛第4轮比赛全部完结,24日结束的6场比赛中,最大的焦点战为上海久事对阵广东大益,经过四节拉锯战,最终纸面实力优势明显的广东队还是以11297,15分取胜赛季最大土豪球……冬至节聊颐和园金光穿洞颐和园《绚丽昆明湖》2018。12。26拍摄每年冬至期间天气晴好,在下午4点至4点30分钟之内是金光穿洞最佳拍摄时段,当夕阳光线映射在十七孔桥洞花岗岩石壁中,再经过湖中冰……普通人买iPhone14Pro,期待三年不换机有钱的人买iPhone14Pro,轻而易举,甚至部分人还会一年换一次新机。普通人买iPhone14Pro的想法就不一样了,多数普通用户期待入手的iPhone14Pro能用好几年……空气净化器哪个品牌好空气净化器除甲醛排行榜前十名空气净化器哪个品牌好空气净化器除甲醛排行榜前十名自从近年来一些室内甲醛中毒事件被媒体曝光报道之后,室内甲醛污染就成为了人们讨论的热点话题。致癌、致畸,甚至致死,甲醛的巨大……有了个人破产法,将不再有债务人跳楼跑路现象为什么?十三届全国人大常委会第130次委员长会议决定:12月27日至30日举行的全国人大常委会第38次会议将审议《企业破产法》修订草案。其中最受人瞩目的内容之一就是个人破产入法,使中国……魔兽WLK前夕三大新服爆满,新手村寸步难行开启抢怪模式《魔兽世界》WLK怀旧服前夕已经开放了,这一次开放了三个服务器冰封王座、无敌和巫妖王,现在已经是人山人海了,和60怀旧服当初开服的时候一样,新手村刚出来就寸步难行,更不要说能打……2023年,养老金按工龄调整,工龄满30年统一涨500元,可2023年刚刚启程,北京、上海、四川和河南等地就公开表示将继续提高职工养老金。众所周知,职工养老金是全国统筹调整的,这无疑是给广大退休人员吃了一颗定心丸,说明养老金确定上涨了。……1W拿下6件大家电朋友以为花了五六万花钱并不能任性,选购家电产品也是一样。选择一些价格相对较便宜的家电产品,绝对是个不错的选择。想没想过一万块钱就能达到你所有的要求?接下来,笔者就为大家带来几款实惠又超值的好电器……拒绝被黑八!太阳11297大胜鹈鹕,保罗全场火力全开,布克激11297,缺少了布克的太阳率先拿到了赛点,他们在主场与鹈鹕的第5场激战中经受住了对手的猛攻,依靠圣保罗的穿针引线,以及布里齐斯的神勇发挥,将悬念带到了第六场较量。此役,……人设越稳,摔得越狠,5位曾因人设好爆火的明星,终于露了真面目文X探秘人编辑X探秘人在这个时代,娱乐圈内的明星们此消彼长。曾有不少人短期内迅速走红,在某段时间带来不可忽视的流量热度,又在热度消散后泯然众人。近两年吃瓜大事……世锦赛4强今日诞生!七五三杰力争齐聚,颜丙涛逆袭有望再突破4月27日,2022年斯诺克世锦赛将进入14决赛第二个比赛日的角逐,终极4强席位将在这一天三个时段中陆续诞生。经过昨日的角逐,颜丙涛在26落后情况下,反打威廉姆斯一个62,两阶……上市公司破产重整投资人与经营方案(2022)本篇文章是上市公司破产重整系列第10篇文章,是关于2022年上市公司破产重整投资人与经营方案的年度总结。前9篇文章包括20172021五年年度投资人与经营方案专题,以及ST恒康……
友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找