【问题标题】:C++ Synchronization object - InitializeConditionVariable FailureC++ 同步对象 - InitializeConditionVariable 失败
【发布时间】:2011-06-20 13:45:02
【问题描述】:

我有一个关于操作系统条件变量的非常简单的问题:
为什么初始化不成功?

这是我的代码:

CONDITION_VARIABLE a;  
void foo()  
{  
    InitializeConditionVariable (&a);  
}  

变量 a 未正确初始化 - 包含 NULL 指针..
我正在使用 Windows Vista 32

【问题讨论】:

  • 我不知道具体是什么问题,但是你可以调用GetLastError函数看看是什么错误。
  • 如何知道空指针无效?如果您尝试使用它会发生什么?
  • @Alan Stokes 你是对的!空指针有效!我认为这是错误的,因为 SleepConditionVariableCS 从未返回,但它似乎是 CriticalSection 而不是条件变量的问题。谢谢!

标签: c++ synchronization operating-system


【解决方案1】:

我的错。奇怪但是InitializeConditionVariable返回的空指针是正确的,可以使用。我的问题是 SleepConditionVariableCS 从未返回,但它似乎是 CriticalSection 而不是条件变量的问题...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-19
    相关资源
    最近更新 更多