完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我们知道使用进程有如下的好处: (1)CPU可以进行时分复用,可以单核心的CPU上面实现宏观上面的并行操作,这也是操作系统的一个思想,我们知道说在STM32或者其他类似的单片机当中如果使用裸机代码的话是单步执行的,也就是顺序执行的,当然引入中断也是为了对一些特殊情况进行特殊的处理,其他的外设就是单片机的一些优势这里就不是属于我们讨论的范畴了。 (2)实现多任务的需求,多任务的需求是宏观的,也就是在宏观上面我们可能需要说两个任务同时进行,比如说我们希望我能够一边学习,一边看电影,当然对于人的个体来说是不行的,在操作系统层面我们做了包括比如说时间片的这种来实现宏观上面的任务同时进行,因为每个时间片的时间都比较短,所以看起来两个任务其实是在同一个时刻进行的,对人的感觉来说这个时间非常短。 但是对于我们上面讨论的来说,进程除了这些优势,还伴随着一些劣势,比如说,具体如下: (1)进程之间的切换开销比较大 (2)进程间通信是比较麻烦的,而且效率不是特别高,之前我们讨论了,我们知道说进程的通信很经常是需要内核进行参与,同时需要消耗相应的额外内存单元,所以总体来说是比较麻烦的。 线程简介: 1.线程是一种轻量级的进程 2.线程是参与内核调度的最小单元 3.一个进程当中可以包含多个线程 那么对于进程而言,线程是承载在进程上面的,如果进程结束的话,那么进程包含中的所有的线程会全部结束。 线程的优势: 1.可以像进程一样被调度 2.线程依附进程多个进程之间很容易效率通信 3.在多核心CPU架构下面可以做到最大效率最大化(对称多处理器架构SMP) 常用的线程函数: pthread_create : 主线程创建一个子线程 pthread_join : 主线程等待(阻塞)回收子线程 pthread_detach : 分离子线程,分离之后,主线程不能再回收子线程 pthread_cancel : 取消进程 pthread_setcancelstate : 使能或者失能这个线程能否被取消 pthread_setcanceltype : 设置取消的类型,有两种,一种是使得线程在安全的情况下被取消,一种是不管三七二十一,马上取消 pthread_exit : 线程退出函数 pthread_cleanup_push 和 pthread_cleanup_pop用于自动释放资源。 |
|
相关推荐
3 个讨论
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
「含关键代码」基于AM3352/AM3354/AM3359的Linux开发案例分享
4893 浏览 0 评论
87410 浏览 0 评论
【高手问答】如何做到精通linux技术?资深工程师带你突破难点
4724 浏览 2 评论
3619 浏览 2 评论
解读Linux :先从创建一个文件夹用来存放jdk压缩文件开始
2482 浏览 0 评论
1999浏览 3评论
1286浏览 1评论
求解:aarch64交叉编译工具已经安装成功,环境变量已经配置,怎么将系统架构切换为ARM的架构
1344浏览 0评论
电脑和虚拟机可以互ping,电脑和开发板也可以互ping,但是虚拟机和开发板ping不通是什么原因
1236浏览 0评论
1174浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 02:43 , Processed in 1.199185 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号