嵌入式学习之线程

线程概述

  • 一个程序中的多个执行路线叫做线程,线程是一个进程内部的控制序列。
  • 所有的进程都至少有一个执行线程(初始线程)。
  • 初始线程随进程的创建而创建, 其他线程则需要通过显式的函数调用来创建。

进程与线程:

①进程拥有自己的PID和变量,独立的内存单元进行调度,执行(几乎)独立于父进程。
②新线程拥有自己独立的栈(eg.局部变量),但与创建者共享全局变量、文件描述符、信号句柄、当前目录状态。
③独立进程和共享线程使得程序运行效率大大提高。

线程的优缺点

优点:

  • 程序并发性
  • 多线程适用于大多数应用程序
  • 线程切换的代价比进程切换小的多

缺点:

  • 变量共享和时序设计需要非常仔细,很容易出现错误
  • 调试困难
  • 在单CPU系统中速度不一定能够提高

线程的主要状态

(1)就绪态:线程能够运行,正在等待处理机资源。可能刚启动或被其他线程抢占处理器,或从阻塞态恢复。
(2)运行态:正在运行。在多处理机系统中,可能有多个线程处于运行态。
(3)阻塞态:线程由于等待某些条件而无法运行,例如IO、加锁互斥量或其他条件。
(4)终止态:线程从起始函数返回、或调用pthread_ exit()函数、或被取消。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值