linux中的线程(创建,等待,终止,分离,同步与互斥)

一、进程与线程##

《1》问: 什么是进程?什么是线程?二者有何关系?
答:线程是一个PCB,进程是一个PCB组;进程是一个程序运行的实体,每个进程都有它自己的内存地址段,换句话说,进程时执行中的程序,而程序是由多个代码段的集合,一般加载到内存中,是一个没有生命的实体,只有处理器赋予生命时,它才能成为一个活动的实体,另外,进程是指在系统中正在运行的一个应用程序,主要负责资源的分配和管理,线程在linux下,又被称为轻量级进程(LWP),是系统分配处理器时间资源的基本单元,是程序执行的最小单元;
关系: 多线程的进程,又被称为线程组;一个进程至少包括一个线程,通常将该线程称为主线程,若程序只有一个线程,那么就是程序的本身;一个进程从主线程的执行开始进而创建一个或多个附加线程,就是所谓基于多线程的多任务。

二、线程

《1》什么是线程?
线程包含了表示进程内执行环境必须的信息,包括标识线程的线程ID,一组寄存器值,栈,调度优先级和策略,信号屏蔽字,errno变量以及线程私有数据;

进程内所有信息对于线程都是共享的,包括执行代码,全局变量和堆内存以及文件描述符;
线程标识:
-就像每个进程有一个进程ID一样,线程也有自己的ID;
-进程ID用pid_t来表示,它是一个unsigned int;
-线程ID用pthread_t来表示,pthread_t 不能把它当作整数处理;
-线程可以通过pthread_self()函数获得自身的线程ID

《2》进程和线程的关系图

《3》线程的优缺点
**【1】优点: **
(1)单线程的进程可以简单的认为只有一个线程的进程;
(2)一个进程在同一时间只做一件事,有了多线程后一个进程同一时间可以做很多事;
(3)每个线程可以处理不同的事物,能充分利⽤用多处理器的可并⾏行数量
(4)无论系统有几个CPU,即使程序运行在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值