為什麼電腦都64核128執行緒了,多執行緒軟體還這麼難寫?

時間 2021-05-05 22:52:02

1樓:Mimosa

當今世界,軟體技術的發展嚴重落後硬體的發展。在多執行緒程式設計方面一直沒有多大進展,指令碼程式語言基本上不能簡單實現真正意義的多執行緒執行。GIL永遠是Python的乙個痛點。

曾經有人試圖實現乙個無GIL的Python,結果執行效率更差。

長期以來,我們一直致力於這方面的工作,並且取得突破性進展:在一種新的指令碼程式語言裡可以非常簡便地進行多執行緒程式設計,在多核裡平行計算非常簡單,而且執行效率非常高:

為什麼中國程式設計師工資那麼高,連乙個 MATLAB 的替代品都開發不出來?

2樓:Tux ZZ

我以前也是這麼認為的,直到我用了Rust。

之後還是覺得寫多執行緒有點費鍵盤,直到Rust有了rayon、Async/Await。

最後,題主你這是赤裸裸的廣告,等著進小黑屋吧。

3樓:Aman

原回答???.jpg

管理 4 個人難,還是管理 128 個人難?

顯然問題規模越大,管理、協同成本就越高。

Intel TBB 可能是我用過的最省心的並行開發庫,它實踐了許多並行開發經驗。不過這要看你的應用領域,我用 C++ 多一些,所以其實網路開發方面感覺 node.js 的單執行緒+非同步 IO 模型夠簡單了(因為執行緒什麼的都是底層 libuv 做好了的),比用 boost.

asio 不知道簡單了多少倍。

並行程式設計是乙個專家領域,它確實難。如果某時某地你覺得它不難了,要麼是你成為專家了,要麼是別人替你解決了——總之不可能是問題變簡單了。

為什麼手機主流都八核心了,電腦為什麼才四核?

說到底,就是商業需要。手機的銷售定位是大眾消費品,是人都會需要使用。其中僅有的幾個貌似明白的內容就是螢幕 畫素和核心處理器,相互比評手機時也是這麼幾個內容。廠家的宣傳一向是想客戶所想 您想聽什麼?想知道什麼?我們就告訴你什麼,反正您也不懂,講得您開心就行了。電腦就不一樣了,不一定時刻需要,用電腦的人...

為什麼IA 64指令集架構失敗了?

阿哲 據說VLIW的指令很難debug。IA 64不相容X86其實不是致命缺點,因為HP和Intel合作,首先考慮替代的是HP以前高階伺服器的CPU。這東西只要夠好,完全可以在伺服器領域開啟市場。企業伺服器市場軟體種類不像消費者市場那麼多元,更新維護一般都有專業團隊負責,架構的遷移不是那麼困難。但要...

為什麼真核生物在進化中選擇了線性DNA?

不器 講真,為了遺傳的穩定性。問題提出的乙個點實際上還是你覺得端粒的存在決定著乙個物種的衰老以及死亡,這對演化上來說不是劣勢,反而是一種優勢,你可以搜一種叫做燈塔水母的生物,它可以做到不受到外來侵害達到不死,但是全球的燈塔水母99 都是乙個基因組,可以說這麼多燈塔水母都是它自己本身。說遠了,穩定的遺...