Форум программистов, компьютерный форум, киберфорум
Наши страницы

Как организовать таймер? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как получить окошки "копирование..." и т.п. с летящими страничками? http://www.cyberforum.ru/cpp-beginners/thread473106.html
Как?
C++ Как узнать текущий размер копируемого файла? Здраствуйте! Как узнать текущий размер копируемого файла? У HTML-их нашел, а как у других не знаю. Заранее благодарен. GigaBit. http://www.cyberforum.ru/cpp-beginners/thread473083.html
C++ problems with exe file: “invalid win32 application”
Hi! I have a problem. I ‘m working on project. It’s purpose to generate exe-files, crowded with resources – html, pictures, etc. So I implemted it on win2k using UpsdateResource API but then I was...
Как в окне CFileDialog показать скрытые и системные файлы? C++
Как в окне 'Открытие файла' (CFileDialog) показать скрытые и системные файлы, если в настройках Windows установлено, что их не надо показывать?
C++ Как узнать и изменить режим отображения скрытых и системных файлов в Windows? http://www.cyberforum.ru/cpp-beginners/thread473046.html
Как узнать, какой режим отображения скрытых и системных файлов установлен в настройках Windows? Как его изменить?
C++ Нужен CodeBase для VisualC Очень нужен CodeBase, желательно v6 и более, желательно для VisualC. Желательно так, но не откажусь от других - ставят задачу хочется попробовать, прежде чем покупать !Есть оригинальная CodeBase... подробнее

Показать сообщение отдельно
palva
2680 / 1907 / 286
Регистрация: 08.06.2007
Сообщений: 7,021
Записей в блоге: 4
14.01.2009, 15:23
Тогда для ожидания и действий после завершения ожидания можно создать отдельный поток:
Код
#include <windows.h>
#include <stdio.h>

DWORD WINAPI ThreadProc(LPVOID lpParameter) {
  Sleep(*(long *)lpParameter);
  printf('OK');
  return 0;
}

void main() {
  HANDLE h;
  int i;
  DWORD ExitCode=STILL_ACTIVE;
  long DelayForThread=4000;
  h=CreateThread(NULL, 0, ThreadProc, &DelayForThread, 0 , NULL);
  if(!h) {
    printf('Error Thread Creation
');
    return;
  }
  for (i=1; i<50; i++) {
    printf('.');
    Sleep(100);
  }
  printf('Main_OK');
  while(ExitCode==STILL_ACTIVE) {
    Sleep(100);
    GetExitCodeThread(h, &ExitCode);
  }
  printf('
');
}
Попробуйте запустить эту прогу как есть, а потом заменить число 4000 на 6000, чтобы период ожидания выходил за рамки содержательной работы основного потока. Цикл в конце позволяет синхронизировать потоки. Но возможна совершенно другая схема синхронизации - всё в ваших руках.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.