Tips: linux进程和线程差异(0)

本文详细阐述了Linux中进程与线程的概念及其区别,并介绍了Linux线程的两种类型:内核线程与用户线程。同时分析了采用多线程的优势及潜在问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 linux进程与线程的联系和区别:

    在linux中,线程按照进程的方式实现。其实现机制与solaris和windows差异很大。

    在现代操作系统中,进程支持多线程,进程是资源管理以及分配的最小单元,线程是程序执行的最小单元。一个进程实体分为:线程集和资源集(包括地址空间、打开的文件以及用户信息等)两部分。线程有其私有数据:PC,栈以及寄存器。

    采用多进程的问题:

1) fork一个子进程的开销较大;

2) 各个进程拥有独立的地址空间,需要复杂的进程间通信(IPC)技术,如消息传递和共享内存。

    而采用线程的优点:

1) 改进程序的实时响应能力、通信方便

2) 更有效的使用多处理器

3) 改进程序结构,多控制流

4) 减少系统资源的使用

   缺点:线程间地址空间共享可能会造成竞争。

 

2 linux线程的分类

1) 内核线程:linux内核可以看作一个服务进程,内核有多个执行流并行,因此内核线程作为内核的分身,完成可以并行的功能模块。内核线程的调度有内核负责,一个内核线程处于阻塞状态时不影响其他的内核线程。

2) 用户线程:在用户空间中实现,内核不能独立地对用户线程进行调度,而是由一个线程运行库来组织线程的调度。

 

3 关于内核线程:

使用命令"ps -ef"查看系统当中的进程,其中带有"[]"的都是内核线程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值