jollen.org

Jollen 的 Blog
Jollen's email: jollen # jollen.org
more:  Jollen's Training

[多核心課程紀錄] 多核心軟體開發的關鍵:Pthread

.作者:jollen/
.日期:November 8, 2011 7:09 PM


任務切割的目的,在於將應用程式裡的計算工作,切割後指派至另一個處理器核心;讓應用程式,能真正使用多核心的計算能力。這就是為什麼多核心軟體的設計,決定了多核心系統效能。上述的觀念,就是「平行處理」。

從應用程式的層面,就要考慮多核心的設計。如何將一個計算工作切割出來,並指派至另一個處理器核心?方式就是使用multi-thread。以Linux作業系統為例,multi-thread程式設計使用一個稱為pthread的程式庫;因此,學習pthread程式設計,就是打好多核心軟體開發的第一個功課。

Android作業系統同樣是使用pthread程式庫,雖然Android的pthread程式庫,與Linux的pthread程式庫「是二個2不同的實作版本」,但同樣是依循POSIX的標準(pthread是POSIX thread的縮寫),因此,有志進入多核心軟體開發的工程師,可以先在Linux系統底下,學習Linux pthread程式設計。

此外,Android應用程式與框架層,採用Java程式語言撰寫,並且採用物件導向的基礎理論。目前所談論的pthread程式設計,則是用C或C++撰寫,我們將透過pthread所產生的thread稱之為native thread。應用程式使用Java語言撰寫,所產生的thread稱為Java thread。Java thread本質上是一個物件,因此也稱為Thread object。

應用程式與框架層的Thread object與更底層的Native thread關係為何?答案是決取於Java Virtual Machine的設計;JVM的Thread model設計,將會影響Java thread的行為,在多核心系統上,Thread model也會影響Java thread的效能。

Tags:

純手工打造說明:技術專欄文章為 Jollen 原創,內容皆為人工撰寫,無 AI 生成。轉載請註明出處與作者,並全文引用。轉載時請在文章開頭或結尾明顯處註明「本文出處:https://www.jollen.org,已取得原作者同意並授權使用。」
訂閱電子報:不定期 Jollen's Blog 精選文章隨 Moko365 電子報寄送;請透過 Moko365 電子報訂閱(可隨時取消)。

Copyright(c) 2001–2011 www.jollen.org. All rights reserved.
Last update: 2026-07-22