Содержание
- 2. Как можно реализовать многопоточность Пользовательские нити Системные нити Гибридная реализация (MxN)
- 3. Пользовательские нити Планировщик в пользовательском адресном пространстве + Не требует переделки ядра системы + Не требует
- 4. Примеры пользовательских нитей Fibers (волокна) в Win32 Не могут исполнять блокирующиеся системные вызовы Поэтому очень редко
- 5. Системные нити Для планирования используется системный планировщик - Нужна переделка планировщика и процедуры создания процессов -
- 6. Гибридная реализация (MxN) Требует наличия как системного, так и пользовательского планировщика Системный планировщик поддерживает M нитей
- 7. Гибридный планировщик + Имеет все преимущества системного планировщика + По идее, пользовательская нить должна быть дешевле
- 8. Гибридный планировщик в старых версиях Solaris Системные нити называются LWP (Light Weight Process – легковесный процесс)
- 9. Гибридный планировщик в Solaris (продолжение) Библиотека позволяет привязывать нити к определенному LWP (bound thread) Можно управлять
- 10. POSIX Threads в Linux В Linux в ядре 2.4 есть системные нити (clone(2)). Эти нити имеют
- 11. Сборка многопоточных программ В большинстве Unix-систем сборка многопоточных программ требует подключения библиотеки libpthread.so (cc -lpthread program.c
- 12. Еще о сборке (Solaris 10) В Solaris 10 библиотека libc.so содержит реализацию POSIX Thread library, т.е.
- 14. Скачать презентацию