同步与互斥
互斥:指某一资源同时只能允许一个访问者对其访问,具有唯一性和排它性。但无法限制访问者对其访问顺序,即访问是无序的
同步:是指互斥基础上,通过其他几只实现资源的有序访问,大多情况同步已经实现了互斥。
线程同步的机制和方式:
1、临界区、互斥对象:主要用于互斥控制;都具有拥有权的控制方法,只有拥有该对象的线程才能执行任务,所以执行完后要释放该对象。
2、信号量、时间对象:时间对象是以同志方式进行控制,主要用于同步的控制。
1、临界区:通过线程串行化来控制访问公共资源的一段代码,速度快。在任意一个时刻,只能保证一个线程对共享资源进行访问。
2、互斥对象:互斥对象和临界区有点像,采用互斥对象机制,只有拥有互斥对象的线程才有访问公共资源的权限。因为互斥对象只有一个,所以能保证公共资源不能同时被多个线程访问。
3、信号量:信号量是内核对象,允许多个线程统一时刻同时访问同一资源,但是需要限制同时访问资源的线程数量
4、事件对象:通过通知操作的方式来保持线程同步,
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!