Организация рабочих потоков: синхронизационный канал

Хабы: Системное программирование, Проектирование и рефакторинг, C++

Представте себе типичное приложение:

Есть рабочий поток движка, выполняющий какую-то функциональность, допустим копирование файлов.
Данный поток должен периодически сообщать информацию о текущем копируемом файле, а также уметь обрабатывать ошибки, допустим ошибка нехватки места на диске.

Графический интерфейс такого приложения должен позволять запускать процесс копирования файлов, уметь приостановить копирование, а также, в случае ошибки, отобразить соответствующий диалог с вопросом к пользователю.

Казалось бы, как можно допустить ошибку в такой типичной ситуации?
Читать дальше →

© Habrahabr.ru