多线程频繁上锁同步还不如用单线程

如果是多核

也是一样的,在关键资源竞争上还是要用单线程,多线程继续执行可重入代码,单线程队列来处理关键资源竞争,处理完一个完成回调

按我看来需要上锁不是简单交换,赋值的操作就是关键资源,特别会影响性能,还是排队单线程执行比较好,上锁了相当于是把其他需要竞争的线程时间给剥夺了,不划算

其实同步的粒度小的话开销也不小,光是同步的内核句柄就占了一大把

为了同步一次切入内核执行系统调用开销也是很大

 

posted @ 2014-03-05 13:10  foo__hack  阅读(335)  评论(0编辑  收藏  举报