线程同步的四种方法各自的适用场景?

四种线程同步的方式:临界区、互斥对象、事件对象、信号量。

临界区通过对多线程的串行化拉埃访问公共资源或者一段代码,速度快,适合控制数据访问

互斥量为协调共同对一个共享资源的单独访问而设计

信号量为控制一个具有有限数量用户资源而设计

事件用来通知线程有一些事情已发生,从而启动后继任务的开始

目前我进行多线程开发,主要使用临界区,虽然想要的功能都能够实现,但是因为对这四种线程同步方式各自的原理、特性、适用场景还是不能够系统化的认识,所以希望谁能给我做一个比较系统化的介绍。

阅读 7.8k
1 个回答

常见的线程同步方式是:互斥锁、条件变量、信号量。

临界区是每次只有一个线程进入的逻辑/数据段。
事件是一种通知/通信方式。

这两者虽然和线程同步相关,但不属于『线程同步方式』。

不知道你现在的知识是从哪获取的,但感觉有点不靠谱。

建议你找本《操作系统》书认真读一遍,这样不但速度快,还系统、有条理。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏