2008年10月5日 星期日

R05 做事的方法(12)──切換Task會浪費資源

現在的電腦不只可以多執行緒,還可以多CPU,一次可以讓許多工作同時執行,我們可以同時排進大量的執行緒後在預期的時間結束工作。有時主管也會要求我們做類似的動作,就是同時要處理兩件以上的事情,而且要同時有進度且在預定的時間內完成。

在同時處理多件事時,意味著我們必須把第一件工作執行到某個程度時將之凍結,然後把腦中的資料清空後再將第二件工作之前凍結的狀態還原到腦袋裡;不可否認地有很多人可以快速的切換,但是切換時必定會耗費一些時間而且要承擔可能漏掉什麼的風險。

人腦到底是單執行緒的構造,專心一意才有可能把事情做得更好。曾有一篇文章說,上班時間內超過四分之一的時間是在接與手邊工作無關緊要的電話,以及重組被電話打斷的思緒;工作之間的切換也會造成類似的影響。要完成一項工作至少需要應有的時間,在中間插入其他工作只是在表面上都有進度而已,但是根本不會加快任何一項工作的時間。

另一個就是在看別人程式的時候。把自己的設計想法放開,去看懂別人的設計想法也是很花費腦中資源的,因為一切內容的放置都得重組才能瞭解;別人的Class、Method、Attribute,以至於元件的架構佈署、功能放置、命名規則都要摸索一番。之前公司開發底層架構時有另外找了一些新的人員加入,後來在查看問題時大家都說某人的程式的寫作風格不同而看不懂,因而造成難以修正以改寫的後遺症。這正是我推動一致寫作風格想避免的狀況。

沒有留言:

張貼留言