环境:适用于Windows XP的C ++,VS 2008,MFC,应用程序。 我必须访问&修改2个线程中的树结构。我的想法是使用CCriticalSection保护每个节点,CCriticalSection会在每次访问节点内部数据(而不是子节点)时锁定。 我期待大量的节点(2-300000)。
非常多的关键部分是否有问题?
我听说Windows有大量打开句柄的问题, 这就是我问这个的原因。
答案 0 :(得分:3)
与互斥锁不同,关键部分不是内核对象,只要两个线程实际尝试锁定它,就只需要操作系统句柄。 read this Matt Pietrek article如果你想知道它的工作原理。