专业网站建设品牌,18年专业建站经验,服务6000+客户--广州松河
免费热线:400-963-0016
微信咨询
|
联系我们
扫二维码关注公众号
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
位置:
广州松河
>
技术支持
> C语言线程和进程
C语言线程和进程
来源:网络整理 时间:2023/2/17 11:53:09 共
3679
浏览
当启动一个程序时,操作系统创建一个进程,并在该进程中执行程序。
一个进程包括一个或多个线程。每个线程又是一个局部进程,它以独立于其他局部进程的方式执行一个命令序列。
当进程启动时,它的主线程则成为活动线程。
这时,任何正在运行的线程都可以启动其他线程。
当进程终止时,
例如,通过在 main()函数中执行一个 return 语句或通过调用 exit()函数,
所有已开启但还未结束的线程都会被终止。
系统调度器为所有可运行的线程平均分配可用的 CPU 时间。
通常,调度器是抢占式的:它会中断正在执行的线程,给中央处理单元(CPU)留出可用的短暂时间,并将 CPU 分配给其他线程使用一段时间。
这种调度的结果是:即使是在单处理系统上,在用户面前运行的线程看上去像是在同时执行,实际上,只有在多处理器系统中,几个线程才可能真正地同时执行。
每一个进程在内存中都有自己的地址空间,并拥有独占的资源
,例如,打开的文件。一个进程中的所有线程都继承该进程的资源。最具有意义的是,在一个进程中的几个线程共享一个地址空间。这使得在一个进程中的任务切换比在不同进程间的任务切换要简单得多。
然而
,为了在不同线程间切换任务,每个线程也拥有自己的资源:包括栈存储器和 CPU 寄存器。
这些资源允许每个线程在不受其他线程干扰的条件下,处理自身的本地数据。此外,一个线程也可以具有线程专用的永久内存。
对于一个给定进程,由于它内部的所有线程均使用相同的地址空间,所以它们共享全局数据与静态数据。然而,这也意味着,同一个进程中的两个不同线程可以同时访问同一个内存单元。这种情况在 C 标准中被称为
数据竞争(data race)
,或者通常称之为
竞态条件(race condition)
。
为了防止在共享数据时出现冲突,当这些不同线程使用内存中相同位置时,程序员必须明确地同步这些不同线程的写操作或读写操作。
版权说明:
本网站凡注明“广州松河 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
相关主题:
沛县专业企业网站制作
嘉善如何制作免费网站
知名制作网站多少钱
受欢迎的日照网站制作
用文本制作网站的代码
东城家具网站制作优化
学生成绩查询网站制作
制作网站收付款的实例
台州行业网站制作哪家好
网站报名表单制作
·上一条:
C++ vector添加(增加)元素
|
·下一条:
C++异常处理(try catch throw)完全攻略
同类资讯
云工作室应遵循的原则_服务器
瓦罗兰特安全引导怎么解决_服务器
网吧电脑如何改成家用电脑_服务器
steam游戏怎么恢复_服务器
正版GMOD为什么我建服务器朋友进不来_服务器
战区gpu不足什么意思_服务器
服务器数量超过1000台的监控工作需要注意什么_服务器
link无线路由怎样连接mode_服务器
微星z690torpedo怎么样_服务器
高德地图怎么添加以前去过的地方_服务器
vs编程是什么_服务器
创建和附加虚拟硬盘什么意思_服务器
有收集用户数据的解决办法吗_服务器
hiai监控服务器通讯异常_服务器
学校的机房可以做成无盘的系统吗_服务器
git网络用语意思_服务器
官方规定一机最多开6个号_服务器
淘云互动怎么进入联网模式_服务器
萤石云手机升级后显示不在线_服务器
csgo怎么组队玩躲猫猫模式_服务器
资讯动态
公司新闻
互联网资讯
电商资讯
优化推广
技术支持
关于我们
公司简介
企业文化
服务项目
公司新闻
服务项目
网站建设
网站推广
品牌策划
移动应用
服务支持
在线咨询
服务流程
产品报价
售后服务
联系我们
代理加盟
付款方式
在线留言
联系方式
联系方式
电话:400-963-0016
邮箱:sales@itwy.com
QQ:250211130
微信:18520775521
Copyright © 广州松河信息科技有限公司 2005-2026 版权所有
粤ICP备16019765号
广州松河信息科技有限公司 版权所有
18520775521
QQ洽谈
sales@itwy.com