比如,链表的inset函数,需要加锁。
那么,就应该在ListNode类的内部增加成员变量,用于锁定。
要给链表的insert()方法,加锁的原因:
比如某个List实例,list_1,该变量在主线程和子线程中,被共享了。即主线程也调用list_1的Insert()方法,子线程也调用。
这样就必须要加锁才行。
请注意,我把CRITICAL_SECTION 变量放在 List 结构之中。你也可以使用一个全局变量取代之,但我是希望每一个链表实体都能够独立地读写。如果只使用一个全局性critical section ,就表示一次只能读写一个链表,这会产生效率上的严重问题。