您好,登錄后才能下訂單哦!
#include <stdio.h> #include <pthread.h> #include <stdlib.h> //線程1的啟動函數 void *threaddeal1(void *arg) { printf("thread 1 returning\n"); return((void *)1); } //線程2的啟動函數 void *threaddeal2(void *arg) { printf("thread 2 exiting\n"); pthread_exit((void *)2); } //主函數 int main(int argc,char *argv[]) { int err; pthread_t threadid1, threadid2; void *tret; //創建線程1 err = pthread_create(&threadid1, NULL, threaddeal1, NULL); if (err != 0) //創建線程1失敗 { printf("創建線程1失敗,錯誤為: %s\n", strerror(err)); } //創建線程2 err = pthread_create(&threadid2, NULL, threaddeal2, NULL); if (err != 0) { printf("創建線程2失敗,錯誤為: %s\n", strerror(err)); } //阻塞線程1 err = pthread_join(threadid1, &tret); if (err != 0) { printf("阻塞線程1失敗,錯誤為: %s\n", strerror(err)); } //退出并且打印線程1的退出狀態 printf("線程1的退出碼為 %d\n", (int)tret); //阻塞線程2 err = pthread_join(threadid2, &tret); if (err != 0) { printf("阻塞線程2失敗,錯誤為: %s\n", strerror(err)); } //退出并且打印線程2的退出狀態 printf("線程2的退出碼為 %d\n", (int)tret); exit(0); }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。