大量关键部分

时间:2011-01-19 15:07:36

标签: multithreading windows-xp critical-section

环境:适用于Windows XP的C ++,VS 2008,MFC,应用程序。 我必须访问&修改2个线程中的树结构。我的想法是使用CCriticalSection保护每个节点,CCriticalSection会在每次访问节点内部数据(而不是子节点)时锁定。 我期待大量的节点(2-300000)。

非常多的关键部分是否有问题?

我听说Windows有大量打开句柄的问题, 这就是我问这个的原因。

1 个答案:

答案 0 :(得分:3)

与互斥锁不同,关键部分不是内核对象,只要两个线程实际尝试锁定它,就只需要操作系统句柄。 read this Matt Pietrek article如果你想知道它的工作原理。