При разработке многопоточных приложений возникает необходимость обеспечивать не только параллельное исполнение кода потоков, но также их взаимодействие:
Фактически для волокон реализуется (в операционной системы Windows):
Аналогично TLS памяти, Windows поддерживает память, локальную для волокон:
При необходимости точно планировать время выполнения надо использовать следующие функции:
Текущее состояние потока можно определить с помощью свойства:
С помощью каких функций можно узнать идентификаторы текущего процесса и потока:
С помощью какой функции можно ставить в APC очередь запросы для вызова собственных функций:
С помощью функции PostQueuedCompletionStatus можно помещать в очередь порта запросы:
Выяснить состояние асинхронной операции, дождаться ее завершения или отменить ее, не дожидаясь завершения можно с помощью следующего набора функций:
Создавать новый порт завершения ввода-вывода с помощью функции CreateIoCompletionPort можно так: