1.linux多線程概述 為了進一步減少處理器的空轉時 間支持多處理器和減少上下文切換開銷,也就出現了線程。
每個進程至少都有一個main線程。它 與同進程中的其他線程共享進程空間{堆代碼 數據 文件描述符 信號等},只擁有自己的棧空間,大大減少了上下文切換的開銷。
看看優缺點: 線程開銷小,占用CPU小,線程之間切換快,但是不利于資源保護。
進程相反,從可移植性來說,進程的移植性要好。
1.2.線程分類 用戶級線程:主要解決上下文切換問題,調度算法和調度過程全部由用戶決定,在運行時不需要特定 的內核支持。缺點:發揮不了多處理器的優勢。
核心級線程:允許多線程并發執行,
1.3.線程創建的Linux實現 進程 fork() exit() wait() 線程 pthread_create() pthread_exit() pthread_join() 編譯-lpthread(前面l是小寫的L)
2.線程的創建和退出
pthread_creat(pthread_t thread,pthread_attr_t attr,void (*start_routine)(void ),void *arg); void pthread_exit(void *retval);
新聞熱點
疑難解答