給定的任務是在一個行程中找到可以建立的最大執行緒數
C.執行緒是輕量級進程,可以由調度程式獨立管理。因為一個 執行緒是進程的一個元件,因此可以關聯多個執行緒
執行緒相對於進程而言,不僅處理起來更輕,而且上下文切換所需時間更短。
執行緒所需的資源較進程少,而且它們也與其同級共享記憶體。
線程。所有使用者級對等執行緒都被作業系統視為單一任務。較少的 它們的創建和終止都需要時間。每次執行程式時,輸出總是不同的。
建立函數 void* create(void *) 並將其留空,因為它只會示範
在 main() 函數中初始化兩個 int 類型的變數 max = 0 和 ret = 0 分別儲存最大線程數和返回值。
宣告一個pthread_t類型的變數「th」。
執行條件 ret == 0 的 while 迴圈並放置 ret = pthread_create (&th, NULL, create, NULL);
在循環內迭代 max 。
在循環外列印 max。
>#include<pthread.h> #include<stdio.h> /*Leave the function empty as it only demonstrates work of thread*/ void *create ( void *){ } //main function int main(){ int max = 0, ret = 0; pthread_t th; //Iterate until 0 is returned while (ret == 0){ ret = pthread_create (&th, NULL, create, NULL); max++; } printf(" %d ", max); }
5741
以上是在C語言中,一個行程內可以建立的最大執行緒數的詳細內容。更多資訊請關注PHP中文網其他相關文章!