Windows для профессионалов


Содержание


Кое-что о внутреннем устройстве потока - часть 3
Некоторые соображения по библиотеке С/С++
Некоторые соображения по библиотеке С/С++ - часть 2
Некоторые соображения по библиотеке С/С++ - часть 3
Некоторые соображения по библиотеке С/С++ - часть 4
Некоторые соображения по библиотеке С/С++ - часть 5
Некоторые соображения по библиотеке С/С++ - часть 6
Некоторые соображения по библиотеке С/С++ - часть 7
Некоторые соображения по библиотеке С/С++ - часть 8
Некоторые соображения по библиотеке С/С++ - часть 9
Ой, вместо _beginthreadex я по ошибке вызвал CreateThread
Библиотечные функции, которые лучше не вызывать
Как узнать о себе
Преобразование псевдоописателя в настоящий описатель
Преобразование псевдоописателя в настоящий описатель - часть 2
Глава 7 - Планирование потоков, приоритет и привязка к процессорам
Глава 7 - Планирование потоков, приоритет и привязка к процессорам - часть 2
Приостановка и возобновление потоков
Приостановка и возобновление процессов
Приостановка и возобновление процессов - часть 2
Функция Sleep
Переключение потоков
Определение периодов выполнения потока
Определение периодов выполнения потока - часть 2
Определение периодов выполнения потока - часть 3
Структура CONTEXT
Структура CONTEXT - часть 2
Структура CONTEXT - часть 3
Структура CONTEXT - часть 4
Приоритеты потоков
Приоритеты потоков - часть 2
Абстрагирование приоритетов
Абстрагирование приоритетов - часть 2
Абстрагирование приоритетов - часть 3
Абстрагирование приоритетов - часть 4
Абстрагирование приоритетов - часть 5
Абстрагирование приоритетов - часть 6
Программирование приоритетов
Программирование приоритетов - часть 2
Программирование приоритетов - часть 3
Динамическое изменение уровня приоритета потока
Динамическое изменение уровня приоритета потока - часть 2
Подстройка планировщика для активного процесса
Программа-пример Scheduling Lab
Программа-пример Scheduling Lab - часть 2
Привязка потоков к процессорам
Привязка потоков к процессорам - часть 2
Привязка потоков к процессорам - часть 3
Привязка потоков к процессорам - часть 4
Привязка потоков к процессорам - часть 5
Глава 8 - Синхронизация потоков в пользовательском режиме
Атомарный доступ: семейство Inferlockect-функций
Атомарный доступ: семейство Inferlockect-функций - часть 2
Атомарный доступ: семейство Inferlockect-функций - часть 3
Атомарный доступ: семейство Inferlockect-функций - часть 4
Атомарный доступ: семейство Inferlockect-функций - часть 5
Атомарный доступ: семейство Inferlockect-функций - часть 6
Атомарный доступ: семейство Inferlockect-функций - часть 7
Кэш-линии
Кэш-линии - часть 2
Более сложные методы синхронизации потоков
Худшее, что можно сделать
Худшее, что можно сделать - часть 2
Критические секции
Критические секции - часть 2
Критические секции - часть 3
Критические секции - часть 4
Критические секции: важное дополнение
Критические секции: важное дополнение - часть 2
Критические секции: важное дополнение - часть 3
Критические секции: важное дополнение - часть 4
Критические секции и спин-блокировка
Критические секции и обработка ошибок
Несколько полезных приемов
Несколько полезных приемов - часть 2
Несколько полезных приемов - часть 3
ГЛАВA 9 Синхронизация потоков с использованием объектов ядра
ГЛАВA 9 Синхронизация потоков с использованием объектов ядра - часть 2
ГЛАВA 9 Синхронизация потоков с использованием объектов ядра - часть 3
Wait-функции
Wait-функции - часть 2
Wait-функции - часть 3
Побочные эффекты успешного ожидания
Побочные эффекты успешного ожидания - часть 2
Побочные эффекты успешного ожидания - часть 3
События
События - часть 2
События - часть 3
События - часть 4
Программа-пример Handshake
Программа-пример Handshake - часть 2
Ожидаемые таймеры
Ожидаемые таймеры - часть 2
Ожидаемые таймеры - часть 3
Ожидаемые таймеры - часть 4
Ожидаемые таймеры и АРС-очередь
Ожидаемые таймеры и АРС-очередь - часть 2
И еще кое-что о таймерах
И еще кое-что о таймерах - часть 2
Семафоры
Семафоры - часть 2
Семафоры - часть 3
Мьютексы
Мьютексы - часть 2
Отказ от объекта-мьютекса
Мьютексы и критические секции
Программа-пример Queue
Программа-пример Queue - часть 2
Программа-пример Queue - часть 3
Сводная таблица объектов, используемых для синхронизации потоков
Другие функции, применяемые в синхронизации потоков
Асинхронный ввод-вывод на устройствах
Функция WaitForlnputldle
Функция MsgWaitForMultipleObjects(Ex)
Функция WaitForDebugEvent
Функция SignalObjectAndWait
Функция SignalObjectAndWait - часть 2
Глава 10 - Полезные средства для синхронизации потоков
Реализация критической секции: объект-оптекс
Реализация критической секции: объект-оптекс - часть 2
Реализация критической секции: объект-оптекс - часть 3
Программа-пример Optex
Создание инверсных семафоров и типов данных, безопасных в многопоточной среде
Создание инверсных семафоров и типов данных, безопасных в многопоточной среде - часть 2
Создание инверсных семафоров и типов данных, безопасных в многопоточной среде - часть 3
Создание инверсных семафоров и типов данных, безопасных в многопоточной среде - часть 4
Создание инверсных семафоров и типов данных, безопасных в многопоточной среде - часть 5
Создание инверсных семафоров и типов данных, безопасных в многопоточной среде - часть 6
Создание инверсных семафоров и типов данных, безопасных в многопоточной среде - часть 7
Программа-пример lnterlockedType
Синхронизация в сценарии "один писатель/группа читателей"
Синхронизация в сценарии "один писатель/группа читателей" - часть 2
Синхронизация в сценарии "один писатель/группа читателей" - часть 3
Программа-пример SWMRG
Реализация функции WaitForMultipleExpressions
Реализация функции WaitForMultipleExpressions - часть 2
Программа-пример WaitForMultExp
Программа-пример WaitForMultExp - часть 2
Программа-пример WaitForMultExp - часть 3
Программа-пример WaitForMultExp - часть 4
Программа-пример WaitForMultExp - часть 5
Глава 11 - Пулы потоков
Сценарий 1: асинхронный вызов функций
Сценарий 1: асинхронный вызов функций - часть 2
Сценарий 1: асинхронный вызов функций - часть 3
Сценарий 1: асинхронный вызов функций - часть 4
Сценарий 2: вызов функций через определенные интервалы времени
Сценарий 2: вызов функций через определенные интервалы времени - часть 2
Сценарий 2: вызов функций через определенные интервалы времени - часть 3
Сценарий 2: вызов функций через определенные интервалы времени - часть 4
Сценарий 2: вызов функций через определенные интервалы времени - часть 5
Программа-пример TimedMsgBox
Сценарий 3: вызов функций при освобождении отдельных объектов ядра
Сценарий 3: вызов функций при освобождении отдельных объектов ядра - часть 2
Сценарий 3: вызов функций при освобождении отдельных объектов ядра - часть 3
Сценарий 4; вызов функций по завершении запросов на асинхронный ввод-вывод
Сценарий 4; вызов функций по завершении запросов на асинхронный ввод-вывод - часть 2
ГЛАВА 12 Волокна
Работа с волокнами
Работа с волокнами - часть 2



Начало