程序員們都知道,任務(wù)切換需要耗費許多額外的花銷,通俗地講,首先需要保存當(dāng)前上下文,以便下次能夠順利切換回來,然后要加載目標(biāo)任務(wù)的上下文。如果一個系統(tǒng)不停地在多個任務(wù)之間來回倒騰,就會耗費大量的時間在上下文切換上,無形中浪費了很多時間。
相比之下,如果只做一件任務(wù),就不會有此損失。這就是為什么專注的人比不專注的人在時間利用效率上高得多的原因。任務(wù)切換的暗時間看似非常不明顯,甚至很多人認為“多任務(wù)”是件很好的事情(有時候的確是),但日積月累起來就會發(fā)現(xiàn),消耗在切換上的時間越來越多。
另外,大腦在開始一件任務(wù)的時候必須要有一定的時間來“熱身”,這個時間因人而異,并且可以通過練習(xí)來改變。舉個例子,你看了一會書之后,忽然感到一陣無聊,忍不住打開瀏覽器,10分鐘后你想起來還要繼續(xù)看書,但要回復(fù)到當(dāng)時理想的狀態(tài),卻需要一段時間來努力去集中精力,把記憶中相關(guān)的知識全都激活起來,從而才能進入“狀態(tài)”,因為你上了10分鐘網(wǎng)之后這些記憶已經(jīng)被抑制了。如果這個“熱身”狀態(tài)需要一刻鐘,那么看似10分鐘的上網(wǎng)閑逛其實就花費了25分鐘。
如果閱讀的例子還不夠生動,對于程序員來說其實有更好的例子:你寫程序?qū)懙谜齢igh,忽然被叫去開了一通會,寫到一半的代碼擱在那兒。等你開完會回來你需要多久才能重新進入狀態(tài)?又或者,你正在調(diào)試程序,你已經(jīng)花了20分鐘的時間把與這個bug可能相關(guān)的代碼前前后后都理解了一遍,心中構(gòu)建了一個大致的地圖,就在這時,呃,你又被叫去開了個會,開完會回來,可想而知,得花上一些時間來回想一下剛剛弄清的東西了。
迅速進入狀態(tài)的能力是可以鍛煉的,根據(jù)我個人的經(jīng)驗,至少可以縮短到3~5分鐘。但要想完全進入狀態(tài),卻是很難在這么短的時間內(nèi)實現(xiàn)的。所謂完全進入狀態(tài),舉個例子:你看了3個小時的書,或者調(diào)試了半個小時的程序之后,往往滿腦子都是相關(guān)的東西,所有這些知識都處在活躍狀態(tài),換言之,你大腦中所有相關(guān)的記憶神經(jīng)網(wǎng)絡(luò)都被激活了,要達到這樣一種忘記時間流逝的“沉浸”狀態(tài)(心理學(xué)上叫做“流體驗”),不是兩三分鐘的事情。而一旦這種狀態(tài)被破壞,無形間效率就會大打折扣。這也是為什么我總是傾向于創(chuàng)造大塊的時間來閱讀重要的東西,因為這樣有利于“沉浸”進去,使得新知識可以和大腦中與其相關(guān)的各種既有的知識充分融合,關(guān)聯(lián)起來,后者對于深刻的記憶非常有幫助。
要充分利用暗時間,不僅要能夠迅速進入狀態(tài),另一個很重要的習(xí)慣就是能夠保持狀態(tài)多久(思維體力)?!禩he Psychology of Invention in the Mathematical Field》②(中譯名《數(shù)學(xué)領(lǐng)域中的發(fā)明心理學(xué)》)上有一段關(guān)于龐加萊的思考習(xí)慣的介紹,很有代表性。龐加萊經(jīng)常在去海邊休假或在路上走的時候在腦海中思索數(shù)學(xué)問題,很多時候解答就在這些時候忽然閃現(xiàn)。雖然我和龐加萊是沒法比的,但是常常也在路上想出答案,這真是一種愉悅的體驗。