多线程中,上锁的理解

近日,因为需要开发一个功能,需要一个比较复杂的链表的结构,而且因为涉及到多线程的问题,所以在设计锁的时,犯了难。因为没有把逻辑理清楚,在很多没有竞争关系的地方都挂了锁,增加了没必要的消耗,特此总结一下:

上锁区域分析

1,确定体统中,到底有哪些线程,会对该数据结构进行操作

2,划分出他们的竞争区域

3,理出他们的对竞争区域进行操作的函数,包括哪步开始进行对对象进行了写操作。

4,再开始设计锁

原文地址:https://www.cnblogs.com/suriyel/p/2637219.html