什麼是執行緒庫?
執行緒是程序的輕量級元件,是 CPU 利用的基本單元,包含程式計數器、堆疊和一組暫存器。
以下是程序中執行緒的結構:
一個程序只有一個控制執行緒,其中一個程式可以在任何給定時間執行一個程式計數器和一個指令序列。將應用程式或程式劃分為多個順序執行緒,這些執行緒以準並行方式執行,程式設計模型變得更簡單。
執行緒能夠在它們之間共享地址空間及其所有資料。這種能力對於某些特定應用程式至關重要。
執行緒比程序更輕量級,但建立和銷燬的速度比程序快。
執行緒庫
執行緒庫為程式設計師提供了一個應用程式程式設計介面,用於建立和管理執行緒。
實現執行緒庫的方法
實現執行緒庫主要有兩種方法,如下所示:
第一種方法是在使用者空間完全提供一個庫,並由核心支援。庫的所有程式碼和資料結構都存在於使用者空間的本地函式呼叫中,而不是系統呼叫中。
第二種方法是實現一個由作業系統直接支援的核心級庫。在這種情況下,庫的程式碼和資料結構存在於核心空間中。
在應用程式程式設計介面中呼叫庫中的函式通常會導致對核心的系統呼叫。
下面列出了主要使用的執行緒庫:
**POSIX 執行緒** - Pthreads,POSIX 標準的執行緒擴充套件,可以作為使用者級庫或核心級庫提供。
**WIN 32 執行緒** - Windows 執行緒庫是 Windows 系統上可用的核心級庫。
**JAVA 執行緒** - JAVA 執行緒 API 允許將執行緒直接作為 JAVA 程式建立和管理。
廣告