簡體   English   中英

POSIX線程與並行性

[英]POSIX threads vs parallelism

POSIX線程(由pthread庫管理)是否並行工作? 我的講師告訴我們,該庫僅創建用戶線程,而不由Linux內核管理。 我寫了一些填充大矩陣的代碼,並比較了線程和整個程序的執行時間,它似乎可以並行工作。 我可以使用該庫來創建具有內核可識別線程的並行程序嗎?

Posix線程是Linux上具有glibc / musl(可能還有其他pthread實現)的內核線程。

您需要區分規范和實現。

POSIX是一種規范,並且(我認為)您的講師是正確的,POSIX並未規定線程需要由內核管理,並且必須並行執行(至少在正式規范中找不到任何相關措辭)。

實際上,大多數主要實現-包括(如其他答案所述)在Linux上通過glibc,在Windows上通過MinGW-通過內核系統調用實現pthreads並並行執行。 因此,如果您的講師實際上說pthreads不是具體使用的內核線程,那么這至少是誤導的,並且可以說是錯誤的。

暫無
暫無

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

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