Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

IsDlgButtonChecked(g_hwndDlg, IDC_SYNCHRONIZE);



if (fSyncChecked) {

// Если пользователь хочет синхронизировать потоки

EnterCriticalSection(&g_CriticalSection);

}

// Преобразуем символьное представление числа в целое значение и добавляем 1

_stscanf(g_szNumber, __TEXT("%d"), &nNumber);

g_szNumber++;

// Преобразуем новое число в строку

/* */ nDigit = 0;

while (nNumber!= 0) {

// Помещаем разряд числа в строку

g_szNumber[nDigit++] = (TCHAR)

(__TEXT("0") + (nNumber % 10));

 

// Вызов здесь функции Sleep сообщает системе, что неиспользованный остаток текущего

// кванта времени нужно отдать другому потоку. Этот вызов необходим в однопроцессорной

// системе для того, чтобы результат синхронизации потоков или отсутствия таковой стали

// очевидны. Обычно в программах функцию Sleep для этого не вызывают.

Sleep(0);

// Готовимся получить следующий разряд

nNumber /= 10;

}

// Все разряды преобразованы в строку.

// Завершаем строку.

g_szNumber[nDigit] = 0;

 

// Символы сформированы в обратном порядке: восстанавливаем нормальный порядок.

// Если ANSI, вызываем strrev, а если Unicode. - _wcsrev.

_tcsrev(g_szNumber);

/* */

if (fSyncChecked) {

// Если пользователь хочет синхронизировать потоки.

LeaveCriticalSection(&g_CriticalSection);

}

// Если пользователь - после каждой итерации хочет видеть на экране значение Cntr:


Дата добавления: 2015-07-11; просмотров: 80 | Нарушение авторских прав






mybiblioteka.su - 2015-2024 год. (0.006 сек.)