f_pthread_create (thread , attr , flag , ent , arg)
用途
此函數是用來在現行處理程序中建立新的執行緒。 新建立的執行緒會假設執行緒屬性物件 attr中所定義的屬性 (如果有提供的話)。 否則,新執行緒將具有系統預設屬性。 新的執行緒將從子常式 ent開始執行,需要有一個虛擬引數。 系統會將引數 arg 傳遞至執行緒項目子常式 ent 作為其實際引數。 引數 flag 用來通知系統引數 arg的內容。 當執行從項目子常式 ent傳回時,新執行緒會自動終止。
如果已宣告子常式 ent ,且直接呼叫時需要明確介面,則當將明確介面當作引數傳遞至此函數時,也需要明確介面。
引數 arg 是一般引數,可以是任何類型及任何等級。 實際引數 arg 必須是變數,因此可以在指派陳述式中作為左值。 如果您將具有向量下標的陣列區段傳遞至引數 arg,則結果無法預期。
如果實際引數 arg 是陣列區段,則子常式 ent 中對應的虛擬引數必須是假設形狀陣列。 否則,結果無法預期。
如果實際引數 arg 具有指向陣列或陣列區段的指標屬性,則子常式 ent 中對應的虛擬引數必須具有指標屬性或假設形狀陣列。 否則,結果無法預期。
類別
功能
引數類型和屬性
- 執行緒
- TYPE (f_pthread_t)、INTENT (OUT)
順利完成函數時, f_pthread_create 會將所建立執行緒的 ID 儲存在 thread中。
- ATTR
- TYPE (f_pthread_attr_t)、INTENT (IN)
- 旗標 (flag)
- INTEGER (4)、INTENT (IN)
引數 flag 必須將引數 arg 的內容完全傳送至系統。 引數 flag 可以是下列常數之一或其組合:
- 旗標字元:
- 如果項目子常式 ent 以任何方式或任何形式預期 CHARACTER 類型的引數,則必須包括此旗標值以指出此事實。 不過,如果子常式預期 Fortran 90 指標指向 CHARACTER類型的引數,則應該改為包含 FLAG_DEFAULT 值。
- FLAG_ASSUMED_SHAPE:
- 如果項目子常式 ent 具有虛擬引數,且該引數是任何等級的假設形狀陣列,則必須包括此旗標值以指出此事實。
- FLAG_DEFAULT:
- 否則,需要此旗標值。
- ent
- 具有任何類型、類型及等級的一個虛擬引數的子常式。
- 阿爾格
- 任何類型、類型及等級的一般引數。 它會傳遞至 ent 作為唯一實際引數。
結果類型和屬性
INTEGER (4)
結果值
順利完成時,此函數會傳回 0。 否則,此函數會傳回下列其中一個錯誤。
- EAGAIN
- 系統沒有足夠資源來建立新的執行緒。
- EINVAL
- 引數 thread、 attr或 flag 無效。
- ENOMEM
- 系統沒有足夠的記憶體來建立新的執行緒。