日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

【C/C++多线程编程之五】pthread线程深入理解

發布時間:2025/3/15 c/c++ 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【C/C++多线程编程之五】pthread线程深入理解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

多線程編程pthread線程深入理解

? ? ??Pthread POSIX threads 的簡稱,是POSIX線程標準

? ? ? ? ??前幾篇博客已經能給你初步的多線程概念,在進一步學習線程同步等多線程核心知識之前,需要對多線程深入的理解。很多人忽略或者回避這部分內容,直接的問題是學習者無法把握多線程編程的內在原理,理解的層次太淺。

? ? ? ? ??1.進程資源

? ? ? ? ? ?

? ? ? ? ?進程資源有存儲資源其他資源。其他資源包含環境變量,地址,文件等。存儲資源,進程的內存分配,博客C解析之三】C語言的內存分配具有很好的參考價值。多線程進程有所不同:

? ? ? ? ?靜態區:存儲全局變量和靜態變量

? ? ? ? ?堆區:動態分配區

上述靜態區,堆區以及其他資源統稱為進程的共享資源。共享資源被該進程的所有線程所共享。

? ? ? ? ?線程堆:線程自己維護的堆

? ? ? ? ?線程棧:線程自己維護的棧

上述的線程堆,線程棧是每個線程獨有的資源,線程間相互獨立,不共享。當建立一個線程時,系統會為線程分配堆棧。

? ? ??? ? ? ? ? ??

你可能已經發現,線程共享進程堆的同時,還自己維護一個堆棧

? ? ? ? ? ? ??

? ? ? ? ?2.線程私有數據

? ? ? ? ?多線程編程下,進程的全局變量通過存儲于共享數據區,實現為所有線程 共用。同時,線程還可以有自己的全局變量,稱為線程的私有數據。愛思考的讀者可能會問,那線程的非全局變量在哪呢,別忘了非全局變量的空間在棧中哦。

? ? ? ???3.線程消亡

? ? ? ? ?線程消亡時,線程自由的線程堆棧會被釋放,歸還給系統,同時線程的私有數據也會被釋放。線程的共享資源,靜態區,共享的進程堆以及其他資源,由于這些資源是線程間共享的,故不會隨線程消亡而釋放。

? ? ? ? ?需要特別注意的是,線程堆與共享的進程堆之間的差異。

? ? ? ? ?線程理解至此,之后的進一步學習,會有更深入的體會。

?

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

?

總結

以上是生活随笔為你收集整理的【C/C++多线程编程之五】pthread线程深入理解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。