2013-06-15 2 views
1

Я пытаюсь распараллелить алгоритм в C на Android NDK с помощью pthreads.pthread_barrier_t на Android NDK

До сих пор все работало неплохо. Чтобы оптимизировать мой код, я попытался использовать pthread_barrier_t.

Но когда я пытаюсь скомпилировать его с НДК-билда, появляется сообщение об ошибке:

jni/singleFFT.c:6:1: error: unknown type name 'pthread_barrier_t' 

Все остальное работает хорошо. Создание pthreads и их объединение ... но просто попытка добавить pthread_barrier_t вызывает эту ошибку. (pthread.h включен)

Не поддерживается ли pthread_barrier_t на Android или что мне нужно делать? Возможно, флаг в Android.mk?

ответ

2

Bionic libc не поддерживает примитивы синхронизации барьеров (pthread_barrier_t тип и связанные функции) в Android NDK.

https://github.com/android/platform_bionic/blob/master/libc/include/pthread.h

+0

Ok. Это, по крайней мере, ответ, и я знаю, почему он не работает. Похоже, я должен создать функциональность барьера с помощью мьютекса. Благодарю. – MiVoth