Skip to Content
LINUX系統程式設計 第二版
book

LINUX系統程式設計 第二版

by Robert Love
December 2013
Intermediate to advanced
496 pages
8h 57m
Chinese
GoTop Information, Inc.
Content preview from LINUX系統程式設計 第二版
第七章
執行緒
執行緒
threading
)就是在單一行程(process)中進行多個執行單位(units of
execution)的建立及管理。由於資料爭用(data race)及死結(deadlock)等情況,執
行緒常是導致程式設計發生錯誤的源頭。執行緒不用一本書的篇幅是說不清楚的,而且
的確有此需要。此類書籍往往會把焦點擺在特定執行緒程式庫的無數介面上。雖然我們
將會探討 Linux 執行緒 API 的基礎知識,但是本章還會提到:執行緒如何成為系統程式
設計者工具箱裡的一項工具?為什麼使用執行緒—而且,更重要的是,為什麼不使用?
哪些設計模式可以協助我們構思及建立使用執行緒的應用程式?最後,資料爭用是什
麼,我們如何加以避免?
二元檔、行程以及執行緒
二元檔
binary
)是駐留在儲存媒體處於休眠狀態的程式,被編譯成特定作業系統及機
器架構可以接受的格式,準備執行但尚未行動。
行程
process
)是作業系統的抽象概
念,代表行動中的二元檔:載入二元檔、虛擬化記憶體、核心的資源(像是已開啟的檔
案)、相關聯的用戶…等等。
執行緒
thread
)是行程中的執行單位:虛擬化處理器、堆
疊以及程式狀態。換句話說,行程是運行中的二元檔,而執行緒是作業系統之行程排班
器(process scheduler)所能安排的最小執行單位。
行程中包含了一或多個執行緒。如果一個行程僅包含一個執行緒,代表行程中只有
一個執行單位,而且同一時間只會發生一件事。我們稱此類行程為
單執行緒
single
threaded
)。它們都是典型的 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

優雅的SciPy|Python科學研究的美學

優雅的SciPy|Python科學研究的美學

Juan Nunez-Iglesias, Stéfan van der Walt, Harriet Dashnow
C++语言导学(原书第2版)

C++语言导学(原书第2版)

本贾尼 斯特劳斯特鲁普

Publisher Resources

ISBN: 9789862769812