专业网站建设品牌,18年专业建站经验,服务6000+客户--广州松河
免费热线:400-963-0016
微信咨询
|
联系我们
扫二维码关注公众号
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
位置:
广州松河
>
技术支持
> C语言线程和进程
C语言线程和进程
来源:网络整理 时间:2023/2/17 11:53:09 共
3685
浏览
当启动一个程序时,操作系统创建一个进程,并在该进程中执行程序。
一个进程包括一个或多个线程。每个线程又是一个局部进程,它以独立于其他局部进程的方式执行一个命令序列。
当进程启动时,它的主线程则成为活动线程。
这时,任何正在运行的线程都可以启动其他线程。
当进程终止时,
例如,通过在 main()函数中执行一个 return 语句或通过调用 exit()函数,
所有已开启但还未结束的线程都会被终止。
系统调度器为所有可运行的线程平均分配可用的 CPU 时间。
通常,调度器是抢占式的:它会中断正在执行的线程,给中央处理单元(CPU)留出可用的短暂时间,并将 CPU 分配给其他线程使用一段时间。
这种调度的结果是:即使是在单处理系统上,在用户面前运行的线程看上去像是在同时执行,实际上,只有在多处理器系统中,几个线程才可能真正地同时执行。
每一个进程在内存中都有自己的地址空间,并拥有独占的资源
,例如,打开的文件。一个进程中的所有线程都继承该进程的资源。最具有意义的是,在一个进程中的几个线程共享一个地址空间。这使得在一个进程中的任务切换比在不同进程间的任务切换要简单得多。
然而
,为了在不同线程间切换任务,每个线程也拥有自己的资源:包括栈存储器和 CPU 寄存器。
这些资源允许每个线程在不受其他线程干扰的条件下,处理自身的本地数据。此外,一个线程也可以具有线程专用的永久内存。
对于一个给定进程,由于它内部的所有线程均使用相同的地址空间,所以它们共享全局数据与静态数据。然而,这也意味着,同一个进程中的两个不同线程可以同时访问同一个内存单元。这种情况在 C 标准中被称为
数据竞争(data race)
,或者通常称之为
竞态条件(race condition)
。
为了防止在共享数据时出现冲突,当这些不同线程使用内存中相同位置时,程序员必须明确地同步这些不同线程的写操作或读写操作。
版权说明:
本网站凡注明“广州松河 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
相关主题:
百度简单搜索域名设计网站
好的室内设计网站排名
贵香水店铺设计网站大全
合成材料设计网站推荐知乎
物理课件免费网站设计网
金融网页设计网站推荐知乎
上海勘察设计网官方网站
电脑看装修设计网站怎么看
优秀工业设计网站推荐书
英科医疗官网设计网站地址
·上一条:
C++ vector添加(增加)元素
|
·下一条:
C++异常处理(try catch throw)完全攻略
同类资讯
惠普笔记本网卡上的两根线插反的后果是什么_服务器
云主机与传统的虚拟主机相比有什么不同_服务器
IDC机房空调系统气流组织常见种类是怎么样的_服务器
分布式系统中客户访问到不一致窗口的旧数据怎么处理_服务器
pubg突然卡死但有声音_服务器
百年灵这款手表的系列_服务器
iOS玩家和安卓玩家可以一起玩吗_服务器
系统正在重新启动怎么办_服务器
伺服电机显示e3_服务器
新斗罗大陆如何找回自己的服务器_服务器
用网银支付时总是提示证书错误拒绝处理_服务器
你见过最贵的组装电脑是怎么样的_服务器
www开头的网址代表什么_服务器
我用我的世界麦块盒子下载了一些mod怎么安装到我的世界里啊_服务器
天翼云产品的优势和特点_服务器
大话西游哪个区最火排行_服务器
哪位大神帮我远程操控下啊_服务器
在系统日志里提示SQL_服务器
穷人千万别买汽车_服务器
唯物主义与唯心主义是对立的_服务器
资讯动态
公司新闻
互联网资讯
电商资讯
优化推广
技术支持
关于我们
公司简介
企业文化
服务项目
公司新闻
服务项目
网站建设
网站推广
品牌策划
移动应用
服务支持
在线咨询
服务流程
产品报价
售后服务
联系我们
代理加盟
付款方式
在线留言
联系方式
联系方式
电话:400-963-0016
邮箱:sales@itwy.com
QQ:250211130
微信:18520775521
Copyright © 广州松河信息科技有限公司 2005-2026 版权所有
粤ICP备16019765号
广州松河信息科技有限公司 版权所有
18520775521
QQ洽谈
sales@itwy.com