现代操作系统day5:线程-基础知识

本文探讨了线程与进程的区别,重点介绍了线程的创建、退出、调度及其带来的问题。线程相比进程更加轻量级,允许在多线程环境下实现计算和I/O操作的重叠,提高应用程序执行效率。线程状态包括运行、阻塞、就绪和终止,可通过特定函数进行管理。然而,线程间的资源共享可能导致安全性和稳定性问题。

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


为什么引入线程?
1)通过将进程分解成可以准并行运行的多个顺序线程,程序设计模型会变得更简单。

服务器设计可以遵循下面三种模型:
1.多线程。特性:并行性,阻塞系统调用
2.单线程进程。特性:无并行性,阻塞系统调用
3.有限状态机。特性:并行性,非阻塞系统调用,中断

2)线程比进程更轻量级,它们比进程更容易(即更快)创建,也更容易撤销

进程需要管理资源的创建、打开和释放问题,线程则不用考虑
切换进程需要通过内核刷新cache,重新加载所有资源,而切换线程则不需要

3)如果存在大量计算和大量的I/O处理,拥有多个线程允许这些活动彼此重叠进行,会加快应用程序执行的速度。

个人理解:
在这里,线程有一点点像VHDL里面的每个process,都是并行运行的。但是线程在内存、变量等运用上更为复杂

按照多线程的工作方式,输入数据、处理数据和输出数据可以全部同时进行。当然,这种模型只有当系统调用只阻塞调用线程而不是阻塞整个进程时,才能正常工作。

经典的线程模型

线程与进程

Linux的线程模型模糊了进程与线程的分界线,不属于经典线程模型的讨论范围

1.进程有存放程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值