总原则:尽可能的精细化使用锁。
1. 使用原子操作;
2. 使用读写锁或递归锁,代替互斥锁;
3. 借鉴双缓冲原理,比如在释放一个中的元素时,通过原子操作先将其放入一个缓冲区容器,在该缓冲区统一进行释放。
暂时只想到这些,另外精细化控制也需要考虑另一个问题——频繁加锁也可能会导致在线程切换花费较多的时间,所以需结合实际控制加锁粒度
总原则:尽可能的精细化使用锁。
1. 使用原子操作;
2. 使用读写锁或递归锁,代替互斥锁;
3. 借鉴双缓冲原理,比如在释放一个中的元素时,通过原子操作先将其放入一个缓冲区容器,在该缓冲区统一进行释放。
暂时只想到这些,另外精细化控制也需要考虑另一个问题——频繁加锁也可能会导致在线程切换花费较多的时间,所以需结合实际控制加锁粒度