【发布时间】:2010-10-30 06:56:45
【问题描述】:
我可以初始化和使用的关键部分的数量是否有限制?
我的应用创建了许多(几千个)需要线程安全的对象。如果我在每个中都有一个关键部分,那会占用太多资源吗?
我认为因为我需要声明自己的 CRITICAL_SECTION 对象,所以我不会像使用 Win32 Mutex 或 Event 那样浪费内核资源?但我只是有一个挥之不去的疑问......?
老实说,对于我的应用程序来说,并不是所有这些对象需要是线程安全的,但关键部分位于库中的某个低级基类中,我确实需要一个几千个!
我可能有机会修改这个库,所以我想知道是否有任何方法可以仅在我检测到对象正在从不同的线程使用时才懒惰地创建(然后从那时起使用)关键部分创建它的那个?或者这就是 Windows 会为我做的?
【问题讨论】:
标签: c++ multithreading winapi windows-xp thread-safety