簡體   English   中英

posix線程(pthreads)標准

[英]posix threads (pthreads) standard

我正在尋找pthreads標准來進行並行工作。 我發現它應該是IEEE 1003.1c“信息技術的EEE標准-便攜式操作系統接口(POSIX®)-系統應用程序接口(API)修正2:線程擴展(C語言)”。 但是,當談到它時 ,它說該標准已被“取代”,但是他們沒有說什么(或者我看不到他們在哪里說)。 有人知道取代標准的鏈接嗎? 謝謝。

它已被新版本(2008)取代。 它可以作為IEEE 1003.1-2008或ISO / IEC 9945-2009(足夠的錢)或The Open Group Single Unix Specification,版本7 (免費)獲得。 這三個都有相同的內容。

是的,那是一個非常舊的文檔。 您可能想要的是完整的POSIX 2008規范

由於您在問題中標記了Linux,因此我建議您除了Jerry Coffin回答的內容之外,還請查看Linux pthreads手冊頁 當前的Linux pthreads實現(NPTL)不完全符合POSIX。 有些小細節的處理方式有所不同。

還有一些擴展名,例如__thread關鍵字(用於指定每個線程變量,比pthread_key_create()簡單得多;在GCC進行了詳細說明)可在Linux和其他操作系統中使用,並且可能會包含在POSIX中。指向未來。

如果您對性能非常敏感,建議您還查看GCC,ICC和Pathscale編譯器中可用的原子內建函數和矢量擴展( GCC向量擴展舊版__sync內置C ++ 11樣式__atomic內置特定於x86的內建 )。 盡管這些還沒有標准化,但它們在上述編譯器中可用,並且除了最近的__atomic內置__atomic ,它們已經可用了至少十年。 從個人經驗來看,我可以證明這些功能可以顯着提高性能(在我正在研究的經典分子動力學模擬器中,性能提高了約40%),同時仍可在非Windows系統和編譯器之間移植。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM