线程和进程基础知识回归

  1. 什么是线程?

线程可以理解为轻量级的进程,是程序执行流的最小单元,一个标准的线程由线程ID、当前指令指针、寄存器集合和堆栈组成。通常意义上,一个进程由多个线程组成,各个线程之间共享程序的内存空间(包括代码、数据段、堆等)以及一些进程级的资源。

线程的访问权限

线程调度与优先级

线程调度的状态:运行:就绪和等待

线程具有优先级,同时可以分为抢占式线程和不可抢占式线程.

 

Linux的多线程

Linux对多线程的支持颇为贫瘠,事实上,在Linxu内核中并不存在真正意义上的线程概念.Linux将所有的执行实体都成为任务.每个任务都类似于一个单线程的进程,具有内存空间,执行实体和文件资源等.Linux不同任务可以选择共享内存,共享内存的任务构成了一个进程.

fork函数产生一个和当前完全一样的新进程,并和当前进程一样从fork函数返回.在fork函数调用之后,新的任务启动并和本任务一起从fork函数返回.但不同的是,本人的fork将返回新任务pid,而新任务的fork将返回0. fork只产生任务的镜像,需要执行exec配合才能启动新的任务.

fork和exec一般只产生新的任务,如果要产生新进程,需要使用clone.

线程安全

竞争与原子操作

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值