pthread – Multi-thread 程式設計

pthread 是 POSIX 下的執行緒標準,針對 thread 的建立與操作定義一系列的 API 。

而且在 Windows 環境下,則有 3rd-party 透過 Windows API 實現的 pthreads-win32 ,對於要開發誇平台的軟體, pthread 就會是開發 multi-thread 時的首選。

閱讀全文〈pthread – Multi-thread 程式設計〉

CS:APP 學習筆記

CS:APP 全名為 Computer Systems: A Programmer’s Perspective,是 CMU 計算機概論課程的教材。
根據 jserv 老師的說法,這們課等同台灣研究所課程的難度,希望大家認真讀這本教材後,能夠有國外頂尖大學大二學生的程度。隨著電腦科技發展日新月異,最基礎的學科仍舊是所有新技術的根基,與其不斷追求新技術,不如好好打穩根基,因此決定研讀這本教科書,搭配 CMU 的課程講義與影片,還有 jserv 老師的補充資料一同學習,期許自己能夠對資訊科技有扎實的基礎。

共筆連結

我將筆記寫於 hackmd ,方便所有朋友發現任何錯誤都可以直接修正,我也同步把筆記發表於 CS:APP Taiwan study group ,歡迎一起來讀書討論!

CH2 Presentation and Maipulating Information

(推薦必讀,對於程式碼會有更深刻的認知!)
共筆連結

CH3 Machine-level Representation of Programs

共筆連結

CH7 Linking

共筆連結

參考資料

  1. CS:APP 學習指引緒論
  2. CMU 15-213

時間複雜度 – 陪你刷題

為什麼要學 Big O

學習演算法和資料結構就是為了寫出高效率的程式碼,不只在時間上需要快速,在空間上的消耗更要節省,而 Big O 就是用來衡量演算法效率的單位。因此,在學習各種資料結構與演算法帶來的好處之前,要先懂得如何透過 Big O 辨別程式碼的效率。

閱讀全文〈時間複雜度 – 陪你刷題〉