专业网站建设品牌,17年专业建站经验,服务6000+客户--广州松河
免费热线:400-963-0016
微信咨询
|
联系我们
扫二维码关注公众号
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
位置:
广州松河
>
技术支持
> C语言线程和进程
C语言线程和进程
来源:网络整理 时间:2023/2/17 11:53:09 共
3673
浏览
当启动一个程序时,操作系统创建一个进程,并在该进程中执行程序。
一个进程包括一个或多个线程。每个线程又是一个局部进程,它以独立于其他局部进程的方式执行一个命令序列。
当进程启动时,它的主线程则成为活动线程。
这时,任何正在运行的线程都可以启动其他线程。
当进程终止时,
例如,通过在 main()函数中执行一个 return 语句或通过调用 exit()函数,
所有已开启但还未结束的线程都会被终止。
系统调度器为所有可运行的线程平均分配可用的 CPU 时间。
通常,调度器是抢占式的:它会中断正在执行的线程,给中央处理单元(CPU)留出可用的短暂时间,并将 CPU 分配给其他线程使用一段时间。
这种调度的结果是:即使是在单处理系统上,在用户面前运行的线程看上去像是在同时执行,实际上,只有在多处理器系统中,几个线程才可能真正地同时执行。
每一个进程在内存中都有自己的地址空间,并拥有独占的资源
,例如,打开的文件。一个进程中的所有线程都继承该进程的资源。最具有意义的是,在一个进程中的几个线程共享一个地址空间。这使得在一个进程中的任务切换比在不同进程间的任务切换要简单得多。
然而
,为了在不同线程间切换任务,每个线程也拥有自己的资源:包括栈存储器和 CPU 寄存器。
这些资源允许每个线程在不受其他线程干扰的条件下,处理自身的本地数据。此外,一个线程也可以具有线程专用的永久内存。
对于一个给定进程,由于它内部的所有线程均使用相同的地址空间,所以它们共享全局数据与静态数据。然而,这也意味着,同一个进程中的两个不同线程可以同时访问同一个内存单元。这种情况在 C 标准中被称为
数据竞争(data race)
,或者通常称之为
竞态条件(race condition)
。
为了防止在共享数据时出现冲突,当这些不同线程使用内存中相同位置时,程序员必须明确地同步这些不同线程的写操作或读写操作。
版权说明:
本网站凡注明“广州松河 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
相关主题:
建设厅网站男人分手
口语素材网站建设
山东网站建设路串串
台州网站建设路夜市
网站建设学习方法高中
重庆家具网站建设
网站制作建设路隧道
放心的网站建设开发流程
阳江响应式网站建设流程
大型门户网站建设预算
·上一条:
C++ vector添加(增加)元素
|
·下一条:
C++异常处理(try catch throw)完全攻略
同类资讯
接口的请求头包含哪些内容_服务器
关系数据库中最基本的数据单位_服务器
geo服务默认口令_服务器
苹果手机连接icloud超时怎么办_服务器
iphonex手机锁屏密码正确开不了机_服务器
如何备份网站数据库_服务器
华为手机屏幕开机自动搜索怎么关闭_服务器
大众车联网解锁不管用_服务器
如何找工作_服务器
国际cdn服务提供商_服务器
网吧怎么要求戴口罩_服务器
硬盘背板是什么_服务器
机箱硬盘盒怎么拆_服务器
戴尔游匣g15可以再加硬盘吗_服务器
mac移动硬盘加密如何解除_服务器
pc怎样通过ilo口连接惠普服务器_服务器
steam方舟如何共享_服务器
如何快速备份磁盘分区_服务器
嗜血印怎么换衣服_服务器
超凡先锋连接服务器为零怎么办_服务器
资讯动态
公司新闻
互联网资讯
电商资讯
优化推广
技术支持
关于我们
公司简介
企业文化
服务项目
公司新闻
服务项目
网站建设
网站推广
品牌策划
移动应用
服务支持
在线咨询
服务流程
产品报价
售后服务
联系我们
代理加盟
付款方式
在线留言
联系方式
联系方式
电话:400-963-0016
邮箱:sales@itwy.com
QQ:250211130
微信:18520775521
Copyright © 广州松河信息科技有限公司 2005-2025 版权所有
粤ICP备16019765号
广州松河信息科技有限公司 版权所有
18520775521
QQ洽谈
sales@itwy.com