多线程编程之pthread线程深入理解

 

      Pthread是 POSIX threads 的简称,是POSIX的线程标准

          前几篇博客已经能给你初步的多线程概念。在进一步学习线程同步等多线程核心知识之前,须要对多线程深入的理解。非常多人忽略或者回避这部分内容,直接的问题是学习者无法把握多线程编程的内在原理,理解的层次太浅。

 

 


          1.进程资源:


         进程资源有存储资源与其它资源。其它资源包括环境变量。地址,文件等。存储资源。进程的内存分配,博客【C解析之三】C语言的内存分配具有非常好的參考价值。

 

多线程进程有所不同:

         静态区:存储全局变量和静态变量

         堆区:动态分配区

上述静态区。堆区以及其它资源统称为进程的共享资源。共享资源被该进程的全部线程所共享。

         线程堆:线程自己维护的堆

         线程栈:线程自己维护的栈

上述的线程堆,线程栈是每一个线程独有的资源。线程间相互独立,不共享。当建立一个线程时。系统会为线程分配堆栈。

 

 

paddleseg多线程 pthread多线程编程_paddleseg多线程

                  

你可能已经发现,线程共享进程堆的同一时候。还自己维护一个堆栈。

 

 


         2.线程私有数据:

 

 

爱思考的读者可能会问,那线程的非全局变量在哪呢。别忘了非全局变量的空间在栈中哦。

 

         3.线程消亡:

 

 

 

 

 

         线程理解至此。之后的进一步学习。会有更深入的体会。