并发编程的知识总结

本文深入探讨并发编程中的核心问题:分工、同步与互斥,以及可见性、原子性和有序性等关键概念。通过理解这些问题的根源,如多核CPU环境下缓存导致的数据一致性挑战,帮助读者掌握并发编程的基本原理。

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

对并发领编程从全面的去看待,可以抽象成三个核心问题:
分工— 同步 —互斥
分工:分工重要且复杂
同步:一个线程完成任务后,如何通知执行后续任务的线程
互斥:同一时刻,只允许一个线程访问共享变量

并发编程有三大问题:可见性 原子性 有序性

可见性产生的原因:计算机内存和CUP的速度相差很多,为了方便它们交互,所以增加了缓存,在单核的CPU上是没有问题的,但是多核的CPU在并发编程的时,存在一些问题,例如两个线程同时从内存中获取数据加载到缓存中,2个不同线程在不同的CPU上执行同时对一个内存变量进行操作,线程对CPU中的缓存进行操作,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值