Базовый класс для организации рабочего потока.

Данный С++ класс инкапсулирует функции для работы с потоками. Для того чтобы использовать рабочий поток необходимо:

  • Вызвать AfxBeginThread
  • Организовать static ThreadProc, так чтобы иметь из нее доступ к динамическим данным
  • Дождаться завершения потока до завершения приложения.

Все эти проблемы решает класс CBaseThread. Он вмещает в себя развязку статической функции на ваш экземпляр и критические секции, благодаря которым функция StopThread() дождется завершения потока. Вам лишь остается унаследовать класс CBaseThread и переопределить следующим образом функцию:
UINT ThreadProc()
{
while(m_fEnableThread)
{
// Ваш код
}
return 0;
}

Дальше:
bool StartThread(int ThreadPriority=THREAD_PRIORITY_NORMAL); запускает поток
StopThread(); устанавливает m_fEnableThread=false и ждет завершения потока.
Если программе требуется много потоков, очень удобно использовать несколько экземпляров объекта CBaseThread.

Скачать код basethread.zip

Программы

Remote Control - Программа для удаленного доступа к компьютеру.
ImageConverter - Программа для уменьшения фотографий.
AutoShutdown - Программа для автоматического выключения компьютера.
Work time counter - Простая программа для учета рабочего времени.
ClearFolders - Программа для массового удаления файлов.
SynchronizeFolders - Программа для синхронизации каталогов.
DiskSector - Утилита позволяет осуществлять чтение / запись секторов диска в / из файла.
ROPTest - Программа изображает все 256 вариантов флагов Ternary Raster Operations Codes, помогает определить необходимый код растровой операции.
HEX Dump ActiveX позволяет просматривать и редактировать данные в шестнадцатеричном HEX формате.
15 slide puzzle - 15 slide puzzle game.
BOOTSAVER - Позволяет скопировать загрузочный сектор жесткого диска в файл, восстановить загрузочный сектор из файла, восстановить загрузочную программу IPL1, не меняя таблицу разделов диска.
Генератор кроссвордов. Описание алгоритм компьютерного составления кроссвордов.
Симулятор 80196. Программный симулятор микроконтроллера Intel 80196KR. Имеет встроенный компилятор ассемблера, текстовый редактор, справочную систему. Может создавать HEX файлы.
Ассемблер. Оригинальный компилятор ассемблера х86.
DISKEDIT Программа позволяет просматривать и редактировать сектора дисков. Работает через прерывание INT13.

Программирование

WPF, XPS, NET. Как установить шрифт из памяти
Нейронные сети. Пример программы и исходный код С++.
Deflate. Подробное описание алгоритма декодирование формата Дефлет. Прмер декодирования с пояснениями.
Программирование драйверов для Windows. Общие вопросы программирования драйверов. Какими средствами пользоваться, где скачать DDK.
Программирование RS232 в Windows. СComBase класс для программирования COM порта.
Программирование потоков в Windows. Класс CBaseThread позволяет организовать несколько рабочих потоков.
Динамический Recordset CDynamicRecordSet - класс модернизирует CRecordSet для более удобной работы с БД из MFC приложений.
Как сохранить, восстановить, отредактировать MBR (Master Boot Record), boot sector, нулевой, загрузочный сектор диска при помощи утилиты debug.exe

evmsoft.net © 2014