范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

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

  编程对于很多人来说,还是比较好上手的。当你学会了一门语言,可以编写一些程序了,很快就会遇到一道坎,并发编程,单线程下好好跑着的程序,怎么就运行异常了?怎么就得不到期望的结果。在面试中,并发编程也是经常出现,我们今天来讨论一个问题, 并发编程,容易出哪些问题?
  违反原子操作
  相信大家在学习并发编程的时候,都会遇到这样一个经典问题,有一个函数,执行i=i+1,执行1000遍。在单线程的环境下,得到的结果都是预期的1000。如果是两个线程同时运行,那么,得到的结果可能是2000,也有可能小于2000。
  这是因为i=i+1不是一个原子操作,我们会获取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次,但是解决死锁的难度又很大,我们可以等到死锁出现再解决。这就需要死锁检测技术,在检测到死锁之后,可以重启系统或者进行修复。
  今天,我们了解到并发编程带来的问题与解决方案,希望对你在平时的工作或者面试有所帮助。

这边厢停止接单,那边厢宣布涨价,长城欧拉下的哪盘棋?本报记者李春莲见习记者张晓玉3月1日,欧拉APP发布3月1日起,2022款欧拉好猫开始接订,好猫GT版价格调整的消息。从公布的信息看,欧拉汽车因受原材料价格大幅上涨及新能源购车补贴快速熨烫平整衣物还附带杀菌?卓力BG538挂烫机初体验前言作为一个精致男孩,家里自然少不了衣物,每次出门要是衣服皱巴巴的,怎么出去见人?传统的方式,一般就是使用挂烫机,之前参加各种活动也是收到过12个挂烫机,但因为各种原因,一直没有遇家用电器噪音测试什么是噪音?噪音是声波的频率强弱变化无规律杂乱无章的声音。从生理学而言凡是妨碍人们正常休息学习和工作的声音,以及对人们要听的声音产生干扰的声音。一般人们用分贝(dB)来量噪声的强度新机华为Mate50发布时间天玑8100参数曝光谷歌Pixel7华为Mate50将于7月发布今日,华为消费者BG战略Marketing部副总裁李昌竹确认,Mate50系列会来,不过不是现在。就目前得到的消息看,华为Mate50系列将只有骁龙8处戴上助听器后是不是就和好耳朵听声音是一样的?有人希望助听器能取代原有的双耳,那是不现实的。如果您希望戴上助听器,耳朵像正常人一样好,是肯定不可能的,就像希望用假牙啃骨头希望借肋假肢跑得和正常人一样快。但是,假牙也好假肢也好,求下图壁纸,谢谢?来吧,宝贝,还有比这个更好的暂时没有。但是你可以把它保存下来,然后在浏览器中以图搜图。(例如打开百度桌面版点开图片栏目,将保存好的图片拖到搜索框,搜索框下会出现一个松开搜索的以图搜百度新闻搜索如何定义?新闻源是相对于网页搜索而言,搜索引擎由专门的新闻频道收录网页中的新闻,目前百度的使用率最高,大家谈新闻源一般是指百度。以百度新闻搜索为例,打开的百度网站,这里默认的是网页搜索,当用微信可以找回删除的好友吗?如果你删除了对方,你在对方好友列表里还是存在的,只是它看不到你什么,但它可以选择加回来,通不通过看你。同理,如果对方删除了你,对方在里的好友列表里也还存在,你要不要重新加它看自己,新疆初中生适合学什么专业呢,学什么专业比较好?不仅是新疆初中生包括全国各地的初中生都必须好好学习书本上和老师教的知识。初中生还没有选择什么专业的权力,唯有读好书上好课,努力考上高中。也可能你指的是初中毕业了却没有考取高中,这样华为和荣耀同一天发新机,你会选择华为Mate40EPro还是Magic4呢?华为Mate40EPro其实就是Mate40Pro5G的换芯版,它的售价高达6499元,这个价格肯定可以买到荣耀Magic4Pro了,所以就拿Magic4Pro和Mate40EPrRedmiK50基本确认,外观配置已无悬念,售价或将1999元起仿佛都在等待三月份,三月份一到多家手机厂商均发布了新机消息,不仅realme和一加宣布了将要发布支持150W快充的手机,小米公司旗下令人期待已久的RedmiK50宇宙也终于有了新消
威马注册资本减少42。99,背后原因是为了更多资本今日有人查到威马注册资本变动从12。09亿元减少至6。89亿元减幅达42。99官方表示这是战略和发展需求而做出的正常调整此外网上有消息指出威马汽车正在对股权架构进行调整或在第四季度公司预测52格力正在遭遇困境1,工业革命会让新产业快速发展,通常也会导致旧产业全行业覆灭或衰退。那些原本就衰退的行业会加快衰退,和新技术相抵触的行业会衰退,本就处在快速发展通道里的行业不衰退。2,电商革命是第专家谈数字化改革做好大数据和迭代机制的顶层设计论坛现场。黄龄亿摄中新网湖州9月16日电(黄龄亿)16日,以聚焦数字化改革聚力现代化先行为主题的第三届浙江省高质量发展智库论坛在浙江湖州举办。会上,诸多专家围绕数字赋能驱动高质量发昨晚苹果发布会演示的新游戏,能跟王者荣耀掐个你死我活吗?昨晚的科技春晚,大家都熬夜看了吗?没看也没关系,反正一早起床,群里朋友圈公众号全都被苹果刷屏了。虽然王守义说十三香,硬件方面确实升级了不少,不过大家所期待的屏下指纹屏下摄像头等等突三星W225G电信定制版渲染图泄露ZFlip3海军蓝版本一同曝光三星每年都会重新制作GalaxyZFold设备,作为中国电信独家定制的W系列,GalaxyZFold35G也不例外。以下是由埃文布拉斯分享的新设备的渲染图,它将被称为三星W225G比亚迪E平台3。0和bydos系统发布,新能源汽车厂商风控新变化?近期在成都车展亮相的比亚迪E平台3。0和bydos电动汽车操作系统实际上在上半年就已经发布,但当时并未引起太大的关注,行业内外的专业人士大多也不清楚这两者到底是什么。一什么是E3。小米手机通过这5个设置,可提升流畅度和安全性,红米手机通用分享生活小妙招,共享科技新生活!大家好,欢迎来到今天的知识分享!我是你们的好朋友小俊!这一期我们来探讨下小米手机通过这5个设置,来提升续航能力和手机流畅度以及安全性!一开启隐私保护磷酸铁锂电池版特斯拉Model3SR续航里程增至491公里磷酸铁锂电池版Model3SR续航里程增至491公里还能天天充饱不怕伤根据特斯拉八月份更新的车款电池数据,换用磷酸铁锂电池(LFP)的美制Model3SR,在编号E6LR更大电量电销量稳居电动车前三,最高续航468km,实拍Model3讲到新能源,你最先想起来的应该是特斯拉了,当然,特斯拉这个品牌,对于汽车圈的影响力还是很大的,并且在名望上也名列前茅的,至少也是排得上号,新能源汽车理应与特斯拉分不开,那样的话,今不同材质不同价位iPhone13手机壳推荐iPhone13如约而至,从造型到性能谈不上失望当然也说不上惊喜。如果您是1112代那就不用再破费了,踏实再等一年看看iPhone14吧。而如果您是Xs或者Xr用户,那么还是有必要桌面私人泡茶师美的智能即热泡茶机ZC12开箱试用序茶之为饮,发乎于神农氏。在中华五千年的文明历史里,一直传承着独特的茶文化,我们祖辈直到现在也一直重复着一件事情,那就是喝茶。然而,在钢筋水泥铸构的城市里,很多繁忙劳碌的都市人想慢