进程与线程的理解

对于Linux内核来说,并不区分进程和线程。在创建进程或者线程时,都会调用fork()函数,在fork()内部会调用clone()实现创建的功能,而进程和线程的区别就在这里:在调用clone()函数时,如果创建的是线程,需要传递一些参数标志来指明需要共享的资源,因为线程是在进程内部,多个线程可以共享进程的一些资源。
对于常说的"进程是资源分配的基本单位",我的理解是因为在调用fork()创建进程时需要给每个进程创建独立的进程地址空间;而对于线程就不需要,因为它会与进程共享一块地址空间。对于常说的"线程是CPU调度的最小单位",我的理解是:像对于常见Linux调度器,比如CFS,实时调度器等都是以线程为基本单位来进行调度。因此"进程是资源分配的基本单位",“线程是CPU调度的最小单位”。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值