Как инициализировать блокировки мьютекса и переменные условия - PullRequest
1 голос
/ 01 октября 2011

pthread_mutex_t qlock [5] = PTHREAD_MUTEX_INITIALIZER;

pthread_cond_t qcond [5] = PTHREAD_COND_INITIALIZER;

Выдает ошибку следующим образом ...

ошибка: массивдолжен быть инициализирован инициализатором в скобках

.. Пожалуйста, кто-нибудь может отладить это или подсказать мне, как это решить ...

Ответы [ 2 ]

3 голосов
/ 01 октября 2011

Это инициализирует мьютекс:

pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;

Это инициализирует массив:

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

... этого должно быть достаточно, чтобы вы пошли.

1 голос
/ 01 октября 2011

Я бы посоветовал вам прочитать книгу для начинающих на языке программирования C.См., Например, связанный вопрос SO .

Кстати, на этом уровне знания C я бы высоко рекомендовал бы вам избегать многопоточного программирования (по крайней мере с pthreads).

...