Многопоточность
- Объект ядра
- Процесс
- Поток
Процессы инертны. Чтобы процесс что-нибудь выполнял в нем нужно создать поток. Процесс - контейнер для потоков.
Многопоточность WinAPI
- CreateProcess
- CreateThread
Многопоточность C++
Многопоточность QT
Синхронизация потоков
Синхронизация потоков: критическая секция, событие, семафор, мьютекс.
- События: интересно применить в приложении из нескольких exe- файлов. Можно запускать и останавливать потоки. Объекты-события обычно используют в том случае, когда какой-то поток выполняет инициализацию, а затем сигнализирует другому потоку, что тот может продолжить работу.
- Критическая секция (пользо-вательского ре-жима): намного быстрее чем мьютекс.
- Семафор: используется для учета ресурсов.
- Мьютекс
Многопоточность PHP
PHP не поддерживает многопоточность, но существует несколько методов её эмуляции.
- PCNTL - параллельные вычисления. PCNTL - расширение, позволяющее полноценно работать с процессами. Кроме управления, поддерживает отправку сообщений, проверку состояния и установку приоритетов.