不要等到离职,才明白这些道理
唉,真tm上火,面試官又給我上了一課。前兩天去某廠面試,問了我一道什么哲學家就餐問題。
真的,太難搞了,而且還挺經典的!反正我是不會,我給你們分享一下,如果你近期也打算跳槽,或者想漲漲知識的,我建議你好好看看這個!
假設有五位哲學家圍坐在一張圓形餐桌旁,做以下兩件事情之一:吃飯,或者思考。
吃東西的時候,他們就停止思考,思考的時候也停止吃東西。餐桌中間有一大碗意大利面,每兩個哲學家之間有一只餐叉。
不過哲學家從來不交談,這就很危險,可能產生死鎖,每個哲學家都拿著左手的餐叉,永遠都在等右邊的餐叉(或者相反)。
即使沒有死鎖,也有可能發生資源耗盡。例如,假設規定當哲學家等待另一只餐叉超過五分鐘后就放下自己手里的那一只餐叉,并且再等五分鐘后進行下一次嘗試。
這個策略消除了死鎖,但仍然有可能發生活鎖。
如果五位哲學家在完全相同的時刻進入餐廳,并同時拿起左邊的餐叉,那么這些哲學家就會等待五分鐘,同時放下手中的餐叉,再等五分鐘,又同時拿起這些餐叉。
在實際的計算機問題中,缺乏餐叉可以類比為缺乏共享資源。
一種常用的計算機技術是資源加鎖,用來保證在某個時刻,資源只能被一個程序或一段代碼訪問。
當一個程序想要使用的資源已經被另一個程序鎖定,它就等待資源解鎖。當多個程序涉及到加鎖的資源時,在某些情況下就有可能發生死鎖。
例如,某個程序需要訪問兩個文件,當兩個這樣的程序各鎖了一個文件,那它們都在等待對方解鎖另一個文件,而這永遠不會發生。
具體落地到代碼,你知道如何實現嗎?學會這道題,之后面試官再問你的時候就再也不怕了,純純的加分項!
推薦你來聽一下馬老師這次的訓練營,老牛X了!除了這道經典的哲學家就餐問題,還有剩下的5道線程題,一個比一個狠。。。
報名方式,我放下面了!具體的你們可以看看大綱。而且馬老師還在直播間給大家準備了超多的福利!
原價?¥99,限時?¥0.02?立刻學習!
掃碼回復關鍵詞【017】
才能獲取上課權限
【一定要回復關鍵詞】
01
聽完可以得到什么?
在你認真聽完本次的直播課后,我相信你一定會有以下幾個方面的提升!
系統梳理線程的執行流程及各階段狀態;
從全局思考如何解決業務問題,而不是局限于某個方面;
提高代碼質量和瓶頸定位及調優能力;
助力面試中表現出色,取得更高水平的薪資;
對照知識體系,查漏補缺。
系統掌握一線互聯網大廠的多線程知識體系和優化方案
02
課堂福利
送:最新總結:100道面試題以及解題秘籍
還有超細致的?課前預習資料?哦~
如果你是一名:
??Java開發工程師
??Java業務架構師
??Java系統架構師
??Java愛好者
??想要跳槽漲薪的
??技術負責人/技術經理/技術總監
??項目經理/項目總監
??想要轉型架構師的
......
那么這次訓練營,就是特地為你準備的!?
2?天時間,300?分鐘
6道經典線程面試題
直戳你【升職加薪難】的真正原因
幫你在金九銀十前夕,打一場翻身仗
如果你對目前的薪水不滿意
這次訓練營你一定要來
掃碼回復關鍵詞【017】
才能獲取上課權限
【一定要回復關鍵詞】
本公眾號僅限前60名特惠購買
請您耐心等待課程顧問通過
新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
以上是生活随笔為你收集整理的不要等到离职,才明白这些道理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 卧槽!两大抓包神器的视频教程来啦!
- 下一篇: linux 使用buildroot制作文