【C/C++多線程編程之二】pthread簡介

多線程編程pthread簡介

      Pthread POSIX threads 的簡稱,是POSIX線程標準POSIX可移植操作系統接口

(Portable Operating System Interface)的簡稱,其定義了操作系統的標準接口,旨在獲得源代碼級別的軟件可移植性。Pthread是學習多線程的絕佳線程庫,其API命名方式同一般C/C++代碼相同,易於編程與理解。

         1.線程庫選擇的疑惑

         Pthread只是C/C++支持的多線程庫中的一個,其他還有openMP,Boost,甚至WIN API等衆多庫。學習多線程編程,不必糾結於選哪個庫,如同學習C/C++時不要糾結於使用哪個編譯器,專注於學習多線程的原理纔是王道。

         2. 線程與進程

         進程是一個具有獨立功能程序的運行實體,如上節的示例程序,運行時便產生一個進程;通常一個進程包含一個或多個線程。

普通C程序多是隻含有一個線程的進程,上節的示例程序包含線程1與線程2,故示例程序是多線程的進程。

         線程與進程都是操作系統的概念。不同進程之間相互獨立,同一進程的線程共享該進程的地址空間及其他資源

         線程與進程關係如下圖:

 

       

 

  

3.多線程的優勢

  •  提高應用程序的響應速度:相比單線程程序,多線程程序不必等待其他線程完成就可以開始另一個線程。
  •  有效使用多處理器,提高CPU利用率:多線程程序能很好的使用多處理器,提高運行速度。
  •  節省系統資源: 處理同步任務時,使用兩個線程比使用兩個進程節省大量的系統資源。

 

來自 <https://blog.csdn.net/lovecodeless/article/details/23673965>

 

發佈了23 篇原創文章 · 獲贊 26 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章