现在的位置: 首页 > 综合 > 正文

进程的信号量&线程的互斥量

2018年09月21日 ⁄ 综合 ⁄ 共 330字 ⁄ 字号 评论关闭

        进程的信号量(semaphore)和线程的互斥量(mutex)本质上都是为了实现互斥,但是线程的mutex的api(pthread_mutex_xxx)相比进程的semaphore的api(semxxx())相比,简洁很多(主要是参数方面)。本质上来说,semaphore是在内核空间,而mutex是在用户进程空间定义的。对于semaphore,进程只保管semaphore的key,也就是semid,各个进程通过系统调用对指定的semid来实现semaphore变量操作;对于mutex,它是定义于进程/用户空间,从属于该进程的所有线程皆可直接访问,而pthread_mutex_xxx的接口定义了统一的访问规则,从而实现了互斥量。所以看起来更简洁~

抱歉!评论已关闭.