Защита нитей и библиотеки поддержки нитей в AIX
В этом разделе рассмотрены библиотеки поддержки нитей в AIX.
Теперь все приложения по умолчанию считаются приложениями с несколькими нитями, хотя в действительности у большинства из них нить только одна. Библиотеки с защитой нитей перечислены ниже:
| Библиотеки с поддержкой нитей | ||
|---|---|---|
| libbsd.a | libc.a | libm.a |
| libsvid.a | libtli.a | libxti.a |
| libnetsvc.a | ||
Библиотеки нитей POSIX
Существуют следующие библиотеки нитей POSIX:
- Библиотека нитей POSIX libpthreads.a
- Библиотека нитей libpthreads.a основана на промышленном стандарте POSIX 1003.1c для переносимых API пользовательских нитей. Любая программа, рассчитанная на работу с библиотекой нитей POSIX, будет правильно работать с другой библиотекой нитей POSIX; от реализации зависят только производительность программы и две-три функции в библиотеке нитей. Для повышения уровня переносимости библиотек нитей реализация некоторых средств программирования в стандарте POSIX объявлена необязательной. Более подробная информация об опциях POSIX приведена в разделе Необязательные компоненты библиотеки работы с нитями.
- Библиотека нитей POSIX проекта 7 libpthreads_compat.a
- В AIX обеспечивается двоичная совместимость с ранее созданными приложениями с несколькими нитями, соответствующими проекту 7 стандарта нитей POSIX. Эти приложения правильно работают без повторной компоновки. Библиотека libpthreads_compat.a нужна только для совместимости с более ранними версиями приложений, написанных по черновой версии стандарта POSIX (POSIX Thread Standard, Draft 7). Во всех новых приложениях должна использоваться библиотека libpthreads.a, поддерживающая как 32-разрядные, так и 64-разрядные приложения. Библиотека libpthreads_compat.a поддерживает только 32-разрядные приложения. Начиная с AIX 5.1 библиотека libpthreads.a поддерживает Single UNIX Specification версии 2, которая включает окончательную версию стандарта POSIX 1003.1c Pthread Standard.