多线程相关内核对象使用情况对比

主线程与子线程之间要进行同步访问公共变量,子线程之间要互斥的访问公共变量。如下列出几种常用的同步互斥方法。

(1)关键段,criticalSection,可以用于线程间的互斥,不可以用于线程间同步,不能跨进程使用,有线程所有权,无需要处理“遗弃”问题。

(2)互斥量,mutex,             也可以解决互斥问题,不能解决同步问题,可以跨进程使用,拥有线程所有权,无需要处理“遗弃”问题。

(3)事件 , event,             可以解决同步问题也可以解决互斥问题,可以跨进程使用,没有线程所有权,不能处理“遗弃”问题。

(4)信号量,semaphore,用来处理主线程和子线程之间的同步问题,可以跨进程使用,不能处理“遗弃”问题。

 同步      互斥      可否跨进程使用能否处理“遗弃”问题
关键段不可以可以不能可以
互斥量不可以可以可以可以
事件可以可以可以不可以
信号量可以可以不可以
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值