【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,故示例程序是多线程的进程。
         线程与进程都是操作系统的概念。不同进程之间相互独立,同一进程的线程共享该进程的地址空间及其他资源
         线程与进程关系如下图:
【C/C++多线程编程之二】pthread简介_第1张图片
         3.多线程的优势
  •  提高应用程序的响应速度:相比单线程程序,多线程程序不必等待其他线程完成就可以开始另一个线程。
  •  有效使用多处理器,提高CPU利用率:多线程程序能很好的使用多处理器,提高运行速度。
  •  节省系统资源: 处理同步任务时,使用两个线程比使用两个进程节省大量的系统资源。
    

你可能感兴趣的:(多线程编程)