【问题标题】:How do I initialize the mutex locks and condition variables如何初始化互斥锁和条件变量
【发布时间】:2011-10-01 17:09:37
【问题描述】:

pthread_mutex_t qlock[5] = PTHREAD_MUTEX_INITIALIZER;

pthread_cond_t qcond[5] = PTHREAD_COND_INITIALIZER;

它给我的错误如下......

错误:数组必须用大括号括起来的初始化器进行初始化

.. 请有人调试一下或告诉我解决方法...

【问题讨论】:

  • 您已提出 14 个问题,但未接受任何答案!对于所有这些问题,您不可能没有一个像样的答案 - 请仔细检查您的问题,并感谢其他人为回答这些问题付出的时间和精力!
  • 我如何接受答案???..我是这个组的新手..
  • @Invictus 请参阅faq,但简短版本是单击最能回答您问题的答案旁边的复选框。

标签: c++ pthreads posix


【解决方案1】:

这会初始化一个互斥锁:

pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;

这会初始化一个数组:

int array[5] = { 0, 1, 2, 3,  4 };

...这应该足以让你继续前进。

【讨论】:

  • 我们可以为互斥锁做,但是,条件变量呢??
【解决方案2】:

我建议您阅读一本关于 C 编程语言的初学者书籍。例如,请参阅related SO question

顺便说一句,在这种 C 知识水平上,我强烈建议您远离多线程编程(至少使用 pthread)。

【讨论】:

    猜你喜欢
    • 2014-06-17
    • 1970-01-01
    • 2010-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-19
    相关资源
    最近更新 更多