什么是線程
? ? ? ? 在一個程序里的多執行路線就是線程。線程是進程中的最小執行單元,可理解為 “進程內的一條執行流水線”。
進程和線程的區別
? ? ? ? 進程是資源分配的基本單位,線程是CPU調度的基本單位。
? ? ? ? fork創建出一個新的進程,會創建出一個新的拷貝,新進程擁有它獨立的PID。他會有一個新的獨立的空間。
? ? ? 在進程中創建新線程時,同一進程內的所有線程共享該進程的全局變量,因此多個線程均可訪問和修改全局變量。
線程的優點
? ? ? ? 1、創建新線程的代價要比進程小的多
? ? ? ? 2、線程之間的切換要比進程之間簡便
? ? ? ? 3、線程占用的資源要比進程少
線程的缺點
? ? ? ? 1、多線程中一旦共享了不該共享的變量會導致變量改變產生問題
? ? ? ? 2、調試多線程程序復雜
線程創建函數
參考:線程函數庫-CSDN博客