四种线程同步的方式:临界区、互斥对象、事件对象、信号量。
临界区通过对多线程的串行化拉埃访问公共资源或者一段代码,速度快,适合控制数据访问
互斥量为协调共同对一个共享资源的单独访问而设计
信号量为控制一个具有有限数量用户资源而设计
事件用来通知线程有一些事情已发生,从而启动后继任务的开始
目前我进行多线程开发,主要使用临界区,虽然想要的功能都能够实现,但是因为对这四种线程同步方式各自的原理、特性、适用场景还是不能够系统化的认识,所以希望谁能给我做一个比较系统化的介绍。
四种线程同步的方式:临界区、互斥对象、事件对象、信号量。
临界区通过对多线程的串行化拉埃访问公共资源或者一段代码,速度快,适合控制数据访问
互斥量为协调共同对一个共享资源的单独访问而设计
信号量为控制一个具有有限数量用户资源而设计
事件用来通知线程有一些事情已发生,从而启动后继任务的开始
目前我进行多线程开发,主要使用临界区,虽然想要的功能都能够实现,但是因为对这四种线程同步方式各自的原理、特性、适用场景还是不能够系统化的认识,所以希望谁能给我做一个比较系统化的介绍。
常见的线程同步方式是:互斥锁、条件变量、信号量。
临界区是每次只有一个线程进入的逻辑/数据段。
事件是一种通知/通信方式。
这两者虽然和线程同步相关,但不属于『线程同步方式』。
不知道你现在的知识是从哪获取的,但感觉有点不靠谱。
建议你找本《操作系统》书认真读一遍,这样不但速度快,还系统、有条理。