Saltar al contenido

Android NDK y pthread

Solución:

Is pthread functionality for Android limited?

AFAIK, sí.

http://mobilepearls.com/labs/native-android-api/#pthreads

https://web.archive.org/web/20180602101341/http://mobilepearls.com/labs/native-android-api/#pthreads

POSIX threads (pthreads)
The android libc, bionic, provides built-in support for pthreads, so no
additional linking (-lpthreads) is necessary. It does not implement full
POSIX threads functionality and leaves out support for read/write locks,
pthread_cancel(), process-shared mutexes and condition variables as well as
other more advanced features. Read the bionic OVERVIEW.txt for more
information.

TLS, thread-local storage, is limited to 59 pthread_key_t slots available
to applications, lower than the posix minimum of 128.

Consulte https://android.googlesource.com/platform/bionic/+/master/docs/status.md para conocer nuestros documentos oficiales sobre qué versión de Android contiene.

también puedes mirar el <pthread.h> encabezado en el NDK (versión actual aquí) y vea, por ejemplo, entradas como:

pid_t pthread_gettid_np(pthread_t __pthread) __INTRODUCED_IN(21);

esto muestra que tenemos el no POSIX / no portátil (_np) función pthread_gettid_np, pero que se introdujo en el nivel de API 21, por lo que si su código necesita ejecutarse en versiones anteriores, no puede usarlo.

Básicamente, los encabezados son la fuente canónica de la verdad para “¿qué funciones están disponibles en qué niveles de API?”.

para el caso específico de pthread_getaffinity_np, no, no lo apoyamos. puedes combinar pthread_gettid_np de <pthread.h> y sched_getaffinity de <sched.h> aunque.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *