2014-10-04 104 views
4

問題:如何使用pthread_create創建用戶級線程或內核級線程?使用`pthread_create`創建一個用戶級線程或內核級線程?

注意:我檢查的pthread_create文檔中this link和我沒有找到可以指定要告訴OS創建任一用戶級線程或內核級線程的任何參數。因此,如果沒有參數,那麼默認使用pthread_create創建的線程是用戶級別還是內核級別?

任何信息或提示將是偉大的。

謝謝。

+4

POSIX無法識別差異 - ['pthread_create()'](http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_create.html)會創建一個新線程,就是這樣。所以,問題將變成:內核vs用戶線程是什麼意思?你希望達到什麼目的?爲什麼? – 2014-10-04 00:43:38

回答

5

pthread_create只是創建一個線程。不是「內核級線程」或「用戶級線程」。後者是可以用於討論線程實現的描述,但就POSIX線程而言,沒有每個線程都具有屬於內核的相應調度/狀態對象的實用方法。這是因爲每個線程都有獨立的信號掩碼,待處理的信號等,並且可以在各種操作中被獨立阻塞,這些操作允許其他線程在被阻塞時前進。所以從某種意義上說,你可以說pthread_create創建了「內核級線程」。這當然是所有主要現實世界實現中的機制。