2015-09-01

事件捕捉進化

最近寫網頁爬蟲用到並行的方法,因為 golang 接收 channel 是外層包一個 for loop,觀察到這樣會讓一個邏輯 CPU 使用率滿載,這個寫法是 busy waiting,認為這麼做耗電很浪費資源。或許 golang 採用 CSP channel 就是決定得走 busy waiting。

找到一篇 Haskell 討論 select(2) 或 poll(2) 捕捉方法,有人提出這些討論的視野都是較為底層,在 Haskell 可以用更高階優雅的方式解決。閱畢感到興奮,就是要優雅!