线程的概念以及Linux下的应用1

进程与线程:概念解析及资源共享

一.线程的概念:
前面讲了进程的概念,我们知道进程为执行一个程序所分配的资源的总称,当我们运行一个软件,或者是运行一个文件的时候都是一个进程。
比如说我们运行一个QQ的时候,这个QQ就是一个进程。但是我们QQ所执行的功能有很多一个,eg:要实现接收信息,输入与发送信息,显示…等,按照一个进程的执行顺序(我们知道我们的代码是按一条一条语句来执行的)为串行执行.显然如果是这样的话我们用QQ的时候,我们要输入文字就不能看到文字,我们用一个功能的时候就不能用另一个功能。
我们要解决这个问题,可以创建多个QQ进程,从磁盘映射多个QQ文件并执行,并且让每一个QQ都执行其中的一个功能。
在这里插入图片描述
这样的做法虽然可以实现多个功能同时使用。但是有以下不好的地方
1.同时创建多个QQ进程所占用的资源非常多(内存,,PCB,CPU,堆,栈。。。)
2.进程间的通讯非常麻烦,每fork的一个进程都有不同的进程号。
所以我们就引入了线程。
在这里插入图片描述
这样做的好处还有可以提高切换效率,避免TLB和高速缓存区(cash)的高频率刷新。
同一进程中的线程共享以下资源:
1)可执行的指令(代码)
2)静态数据库(全局变量,static?)
3)进程的打开的文件描述符
4)当前目录
5)用户ID
6)用户组ID
以下为线程的私有资源
线程ID
PC和相关寄存器
堆,栈
错误号
优先级
执行状态的属性。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值