@程序員,別再迷戀多線程工做了

我剛剛嘗試了一下,一邊用 iPad 看「Java 極客技術」自制的 SpringBoot 視頻(1.2X 倍速),一邊在 iMac 上回復博客上讀者的留言。過了一會,視頻上講了什麼,我徹底沒有印象了;而回復的內容也寫得亂七八糟。程序員

很長一段時間內,都在欺騙我本身:一邊寫博客,一邊聽音樂,自認爲能夠一心多用,作到了像計算機同樣的「多線程工做」。可等到音樂的某個高潮響起時,我不由自主地投入到了音樂的世界中,卻徹底忘了博客接下來應該寫的主題。因而只能狠狠地把音樂關掉,從新讀一遍計劃好的內容大綱,尋找新的寫做靈感(以前的靈感已經杳無音訊了)。編程

像我這樣自做聰明的人應該不在少數,但實際上咱們只是在幾個不一樣的任務之間快速地進行切換。當切換的頻率太高的時候,咱們的創造力就會降低得越快,咱們浪費的時間就越多,咱們學習的效率就會越低。數據結構

假如你要反駁,說本身在打發時間,那請你自便。多線程

0一、爲何咱們會迷戀多線程工做

「人生苦短,我愛多線程」——這恐怕是咱們迷戀多線程工做的主要緣由了。想想手頭那麼多事情要作,而咱們又分身乏術,不能像孫悟空那樣拔一根猴毛就能複製一個戰鬥力滿滿的本身,就只能硬着頭皮 new Thread().start() 了。app

就咱們程序員來講,打開手機,掘金社區上的小冊在向我招手,極客XX的課程在向我拋媚眼,GitChat 的小課在向我暗送秋波,就連XX星球也在喊我過去。在咱們猶豫再三的時候,奇妙清單提示我,項目要 deadline 了,因而咱們只能搖搖頭,忍不住嘆了一口氣。學習

是這樣的,生命是短暫的,可咱們要作的事情實在是太多了。何況多線程工做會讓咱們上癮,由於「當完成一項小任務時,咱們會受到多巴胺的衝擊,也就是咱們的獎勵激素。大腦喜歡多巴胺,因而咱們被鼓勵不停地在一些能給予本身即時知足感的微小任務之間切換。」編碼

可多線程工做在大多數狀況下給咱們帶來的是負面的影響。計算機在處理多線程任務時能夠經過追加 CPU 的核數來提升程序的運行效率。但咱們並非計算機。spa

0二、多線程工做嚴重影響工做效率

當一個程序員在全力編程的時候,腦殼裏同時記着數不勝數的東西,包括變量名、方法名、重要的接口、數據結構,還有他們本身的經常使用組件庫。若是送這個程序員去侏羅紀公園度假一個月,保準他會把這些東西忘得一乾二淨。線程

在高效編程的時候,腦殼裏的那些東西就好像存儲在計算機的 RAM 上,等到其餘的任務切換進來的時候,這些東西就不得不轉移到別的地方(好比計算機上的磁盤)備份起來,等從新切回到原來的任務上時,就須要花費巨大的精力從新恢復了。code

不知道你有沒有這種感受,我是有的。我特別討厭在聚精會神編碼的時候,忽然殺來一個電話,讓你措手不及,尤爲是廣告營銷的,忍不住要痛罵他們幾句,而後加入黑名單。有時候很不幸,來電顯示打來電話的人是老闆,就不得不扼殺住想要爆發的怒火。可怒火是扼殺了,敲代碼的那種快感也被扼殺了。

2011 年加利福尼亞大學發表的一篇研究報告展現了「快速地從一項任務切換到另外一項任務」是怎樣影響咱們記憶的。研究者們表示,多線程工做對人的「工做記憶」有着消極的影響。工做記憶是指一段時間內在大腦中保存和處理信息的能力,它是一切思惟活動的基礎,也是學習的第一步。

當咱們可以專一作一件事情的時候,工做記憶就不太容易受到影響。但受限於工做場合,互聯網公司尤爲鍾愛開放式的辦公室,你們匯聚一堂,感受彼此之間充滿真愛。但大量吵雜的聲音,嚴重影響着咱們的工做效率,因而夜深人靜加班的時候,工做效率是最高的。

0三、多線程工做會扼殺創造力

神經科學家厄爾·米勒(Earl Miller)表示多線程工做會扼殺創造力,「創新的想法,歸根到底來源於深度的注意集中。當咱們嘗試多線程工做時,基本不會在任何一條能發現原創東西的道路上走的足夠遠,由於咱們在不停地切換和回溯。」

當我在上下班的路上騎自行車的時候,我發現戴着消噪耳機聽音樂是一件很是美妙的事情。不只能夠把馬路上嘈雜的聲音隔離開來,還可以消磨掉時光。

而當我在寫博客的時候,聽音樂就拔苗助長了。這是由於騎自行車自己並非一件須要創造力才能完成的事情,而寫博客則須要聚精會神才能把腦殼裏的所見所聞流暢地梳理出來。

也就是說,當咱們須要創造力的時候,最有效的作法就是移除干擾物,把手機調成飛行模式,把一些軟件的通知禁掉,把門窗關閉等等。儘可能專心地完成當前的任務。

這並不簡單,可是很是值得去作。

0四、最後

我須要告誡你們一句:當咱們正在作的一個任務尚未完成的時候,下一個任務來臨的時候必定要勇敢說「不」,坦率地告知派發任務的領導,讓他保持清醒。

假如說不出口,那也要一個一個來。切記不要高估咱們自身的能力,畢竟咱們是人,不是計算機,沒辦法把咱們的腦殼改形成多核的。總之一句話:程序員,別再迷戀多線程工做的鬼話了。

0五、鳴謝

好了各位讀者朋友們,以上就是本文的所有內容了。能看到這裏的都是最優秀的程序員,二哥必需要伸出大拇指爲你點個贊👍。若是以爲不過癮,還想看到更多,我再給你們推薦幾篇。

程序員的遮羞布:這個需求技術上沒法實現
@程序員,請萬分珍重你的第一份工做
@程序員,請掌握這些核心生存技能

平常操做來了!若是以爲這篇文章有點用的話,求點贊、求收藏,明人不說暗話,我喜歡這種被你們夥寵愛的感受。

one more thing!若是你們想要第一時間看到二哥更新的文章,能夠掃描下方的二維碼,關注個人公衆號。咱們下篇文章見!

相關文章
相關標籤/搜索