bionici (android libc) varianti mutex
Domanda
Quali tipi di mutex fa supporto libc bionico?
- ricorsiva
- timed
- adattativo
- errorchecking
Soluzione
dalla documentazione (bionico / libc / docs / OVERVIEW.TXT):
The implementation is based on futexes and strives to provide *very* short
code paths for common operations. Notable features are the following:
- pthread_mutex_t, pthread_cond_t are only 4 bytes each.
- Normal, recursive and error-check mutexes are supported, and the code
path is heavily optimized for the normal case, which is used most of
the time.
- Process-shared mutexes and condition variables are not supported.
Their implementation requires far more complexity and was absolutely
not needed for Android (which uses other inter-process synchronization
capabilities).
Note that they could be added in the future without breaking the ABI
by specifying more sophisticated code paths (which may make the common
paths slightly slower though).
- There is currently no support for read/write locks, priority-ceiling in
mutexes and other more advanced features. Again, the main idea being
that this was not needed for Android at all but could be added in the
future.
Altri suggerimenti
Quindi, è cambiato qualcosa nel corso di 5 anni?
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow