Книга: Разработка приложений в среде Linux. Второе издание
10.1.1. Усложнение концепции — потоки
10.1.1. Усложнение концепции — потоки
Хотя определение процесса может показаться очевидным, концепция потока (thread) делает все это несколько менее ясным. Поток позволяет единственной программе выполняться во многих местах одновременно. Все потоки, созданные одной программой, разделяют большинство характеристик, которые отличают процессы друг от друга. Например, множество потоков, порожденных от одной программы, разделяют информацию об открытых файлах, правах доступа, текущем каталоге и образе памяти. Как только один из потоков модифицирует глобальную переменную, все потоки увидят новое значение, а не только тот, что это сделал.
Многие реализации Unix (включая каноническую версию AT&T System V) были перепроектированы, чтобы сделать потоки фундаментальным элементом планирования для ядра, и процесс превратился в коллекцию потоков, разделяющих ресурсы. Поскольку множество ресурсов разделяется между потоками, ядро может быстрее переключаться между потоками одного процесса, чем оно это делает при полноконтекстном переключении между процессами. В результате в большинстве ядер Unix существует двухуровневая модель процессов, которая различает потоки и процессы.
- Стандартные потоки: stdin, stdout, stdeir, stdaux, stdprn.
- 4.2. Формирование концепции репутационного менеджмента
- 1.2 Процесс, контекст процесса и потоки
- Глава 2 Первый уровень трехуровневой концепции мерчандайзинга. Внешний вид магазина и территория вокруг него
- Определение терминов и понимание концепции
- Ключевые концепции
- Концепции активного каталога
- Сущность концепции BPM
- 14.2.1. Концепции блокировки файлов
- Основные концепции рекламы
- 1.2. Фундаментальные концепции, лежащие в основе понятия зрелости производственных процессов
- Потоки в пространстве ядра