进程与线程

进程是一个实体。每一个进程都有它自己的内存地址段(heap、stack等等)
进程是执行中的程序。程序是一个没有生命的实体,只有处理器赋予程序生命时,它才能成为一个活动的实体。
进程是操作系统中最基本、重要的概念。
 
 
单线程的进程可以简单的认为只有一个线程的进程。
一个进程在同一时间只做一件事,有了多线程后一个进程同一时间可以做多件事。
每个线程可以处理不同的事务。
无论系统有几个CPU,即使进程运行在单CPU上,多线程也可以使进程并发处理多个事务。
一个线程阻塞并不会影响到另外一个线程。
多线程的进程可以尽可能的利用系统CPU资源。
 
 
线程包含了表示进程内执行环境必须的信息,包括标识线程的线程ID,一组寄存器值,栈,调度优先级和策略,信号屏蔽字,errno变量以及线程私有数据。
进程内所有的信息对于线程都是共享的,包括执行代码,全局变量,和堆内存,栈以及文件描述符。
线程标识
  –就像每个进程有个进程ID一样,线程也有自己的ID。
  –进程ID用pid_t来表示,它是一个unsigned int。
  –线程ID用pthread_t表示,pthread_t不能把它当整数处理。
  –线程可以通过pthread_self()函数获得自身的线程ID
 
 
 
 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。