如何訓練自己的多線程處理能力?
一心不真的不能二用?如何訓練自己的多線程處理能力?使自己可以同時處理多件事情
人類的高級認知處理,是單線程的。
這意味著,所有宣稱可以讓一個人一心多用的訓練手法、藥物等等,全都是騙人的。
說來奇怪的是,由神經網路構成的人腦,對信息卻是大規模並行處理,各種不同的感覺信息同時經過傳入神經輸入大腦,大腦完全可以同時處理。你可以同時看見某個東西,聽見某個聲音,摸到某個東西,嘗到某個味道。但作為軟體的人類心靈,卻只能單線程處理任務。
有人好像不信?不信的可以試試,從14開始,心算重複+3,14、17、20、23、26、29……這樣。然後讓身邊的朋友問你別的事情,看你還能不能做到?
但如果一個任務是不佔用認知資源的,那它就可以「多線程處理」。比如你可以同時走路、呼吸、心跳、心算加法題。前三樣任務都是可以無意識自動化處理的。
所有有意識的高級認知任務,都只能一心一意地進行,許多電視上一心多用的表演,也只是在多個高級認知任務之間快速切換而已。
所以,不用妄想著訓練多線程能力了。人類不具備這種能力,但這並不是壞事。讓無意識自動化地去處理信息,不更輕鬆嗎?人腦和計算機有好多相通之處,人腦一心二用和計算機的單核多線程幾乎是同樣的道理:通過快速切換時間片來模擬並行處理。
所以不要費勁心思想著突破人類的生理極限去做到「高並發」。稍微有點經驗的程序員都知道,通過簡單的開進程、線程去實現高並發是非常愚蠢的行為,因為Context Switch的耗時在隨著並發度的提高會佔比越來越大,CPU會花費大量時間進行每個線程Context恢復保存,高並發的不二法門一直是「非同步非阻塞」。同理,我們面對千頭萬緒的事情的時候需要做的是,記下需要做的事情,然後按照優先順序,一件一件來做,如果遇到外部因素造成的「阻塞」,那就暫停任務,記錄進度,切換到下一個任務上去。但由於我們的生理限制,我們的「內存」小得可憐,「硬碟」讀寫速度奇慢無比,還容易丟數據。所以,想要成為一個能高效處理千頭萬緒的事情的人,我們所要做到的是善用工具:向大家推薦一個小App:奇妙清單 | To-do, 清單, 備忘, 任務, 待辦,Win、Mac、Android、iOS全平台支持,還能支持多人共享任務清單:多線程能力,如果是簡單的不消耗認知資源的行為是可以同時進行的,比如走路時聊天之類的簡單的行為。但是如果是消耗認知資源的行為,比如算27*79之類的,這些是有意識參與的,是只能單線程操作的,你不太可能邊算27*79邊利用短期記憶記住8位數字。當然即使是單核處理器,也可以「同時」進行多種任務,具體原理就是把小一段時間分為幾個部分,一部分處理任務A,一部分處理任務B,一部分處理任務C,這樣給人一種感覺是似乎同時進行的。有意思的是人腦也是如此,前一陣正好聽了一個講座,叫做「認知神經科學中的時間組織淺談」,(用空再補充具體內容),結論是「注意似乎無法同時作用在多個空間位置或者同一空間位置的多個特徵上,而是採用了一種『時分復用』的時間組織方式來輪流採樣和表徵。」有興趣的可以參考
Huang Y, Chen L, Luo, H.* (2015) Behavioral oscillation in priming: competing perceptual predictions conveyed in alternating theta-band rhythms. Journal of Neuroscience 35(6): 2830-2837.
Song, K., Meng, M., Chen, L., Zhou, K.*, Luo, H.* (2014) Behavioral oscillations in attention: rhythmic alpha pulses mediated through theta band. Journal of Neuroscience 34(14): 4837-4844.
沒有實際的壓力就沒有前進的動力。我建議找兩個女朋友,然後慢慢找第三個第四個。當你可以同時處理27個女朋友的時候,你會回來和我一起唱噹噹當的……
我大學非常喜歡的兩位老師的觀點綜合起來應該是這個問題的答案。
1,人專註做一件事情時效率最高。
2,當一個人把一件事情做到非常熟練的時候,潛意識會代勞,人就可以用意識去完成另一件事。例子:如果一個人是開車的新手,只開車這一件事情就會手忙腳亂。更別提分心再做另一件事。一旦開車成為這個人的熟練技能,就會出現大家常見的景象:開車時,聽著廣播,還能同時抽煙彈煙灰,偶爾拿起水杯喝水,接打電話。不要練,普通人會練死機,一旦死機了,普通人沒法重啟,結果就是,直接傻了
星際爭霸
在心理學上,卡尼曼曾提出過心理資源有限理論。人的心理資源是有限的,在處理任務時會佔用資源。如果你進行的任務沒有佔用全部資源,就能用剩下的資源去處理其他任務。比如你開車時,除了操作汽車,注意路況,還能聊聊天,聽聽歌,這就已經算是多線程處理了吧。人和電腦很像,同時打開excle,PPT之類的軟體不至於死機,但是要是同時運行「使命召喚」加「極品飛車」估計就當機了。所以能不能多線程處理任務,就要看個人的CPU的運算能力和任務的難易程度。一心能二用,看你做什麼事了~
知乎首答。首先剛開始我看題目的時候不清楚什麼是「線程」。在看來各位哥哥姐姐的回答之後,貌似知道是什麼回事了。 ———————————————————————————先分個割——————————————————————————————————————————————————— 解: 之前我有看到一個手機測評的視頻(好可惜我找不到那個視頻了),其中視頻裡面有一個片段說的是為什麼iOS比安卓流暢性高的問題。其中一個最主要原因是 iOS在處理任務時是把幾乎所有的「資源」整和在一起推送到當前的任務上的,就是說把幾乎所有的「力量」全部用在做一件事上來處理任務的。而安卓則是「資源平均」分給所有在進行的任務上(所以我們就養成了經常清理後台任務的好習慣)這個和安卓手機注重多核CPU性能 而蘋果注重單核CPU性能也是相符合的。iOS在處理任務時是單一而快速的,安卓則是繁瑣而遲鈍的。這個道理就像是你手頭上有三件事 你是一一解決速率高還是同時解決速率高 結果顯而易見(請不要懷疑我 )不信你可以試試。我不敢妄自下結論說 人是不是可以多線程處理任務 說不定我們天生就會多線程 只是我們沒有發現罷了 又或者是多線程沒有單線程好用 就像安卓不如iOS流暢一樣 但是我們可以訓練我們的單線程處理任務的能力 (可以訓練在各個任務之間不斷切換我們的單線程 達到無縫連接 實現接近於多線程)哈哈,知乎首答,不喜請噴。可以點贊,以資鼓勵。謝謝。以上。
你要多線程首先要理解「線程」,比如手頭有A和B兩件事,你要在A任務執行過程中可以停頓(等待)的時候,從A任務釋放自己(資源),然後開始投入到B任務中,然後A任務又要開始處理時,再回到A主線上。(題外話,記得要線程安全,加點同步,加點鎖,注意原子性操作,不然燒壞大腦)。
盡量不要讓同時處理的事情太多,和電腦一樣,同時處理的事情太多的話,大量的時間會用在上下文切換上,同時切換上下文的時候,還需要把一些事情進行持久化,比如記到本上
換個工作,嘗試做一些最簡單的事情。你看電影裡面每天忙的連軸轉的人物其實要做的也就是回答是與不是而已。
編程其實也是一樣。你要提高多線程的靈活性就得減小鎖的粒度。既然是人腦不是豬腦,還是客觀點,研究下怎麼做time slicing靠譜點,一心多用相當於建立協處理器,都是專款專用,成本很高的。
那衣服 就算你學會了左手畫圓右手畫方 你也無法走上人生巔峰
看完題目,以為是一個CS編程方面的問題。。。進來之後發現根本不是。
誰跟我一樣請點贊!問媽媽
改革開放現如今生活條件好了,俺家每餐必定有肉有湯,
媽媽每次準備做飯都感覺要變身飯在鍋里開始煮了,菜就得開始切,湯鍋這時候一定是開的,肉一定已經腌好了,等你一個小時內搞定四菜一湯,保證都是最佳口感還不慌不亂的時候你就成精了人腦單核,只能用非同步模擬。
要不先熟悉一下有多少種並發模型?
哥四線程同步,一邊吃一邊喝飲料,再看著電視,噴個話題。
推薦閱讀:
※世間誘惑如此多 如何能清心寡欲?抵禦誘惑?
※哪本書對你的思維影響最大?
※跳躍性思維強,思維沒有邏輯性,說話沒有條理怎麼辦?怎樣讓自己變得有條理?
※如何在限定的按鍵次數下輸入最多的字元?
※什麼是全球思維和地方行動?這兩個的定義是什麼?