读书人

怎么每隔一段时间修改一个变量的值 并

发布时间: 2013-06-25 23:45:42 作者: rapoo

怎样每隔一段时间修改一个变量的值 并且放在程序后台进行
作业要求做一个模拟电梯的系统 假如我想要电梯每隔2s 修改一次所在层数 这个功能需要用什么函数实现? 并且我想在电梯上升的同时进行一些其他的功能 比如 假如电梯在上升 我要增加一个用户 在我创建这个用户的信息的时候 并不妨碍 电梯每2s上升一层, 如何实现这个俩个功能呢? 拙计啊 ,求大神给个简单的示范代码 多线程 时间函数
[解决办法]

//怎样每隔两秒修改一个变量的值 并且放在程序后台进行。
#include <stdio.h>
#include <time.h>
#include <sys/timeb.h>
#include <process.h>
#include <windows.h>
int var1;
CRITICAL_SECTION CS;
struct tm *now;
struct timeb tb;
char datestr[16];
char timestr[16];
char mss[4];
void thdA(void *pcn) {
while (1) {
Sleep(2000);
EnterCriticalSection(&CS);
var1++;
LeaveCriticalSection(&CS);
}
}
int main() {
var1=1;
InitializeCriticalSection(&CS);
_beginthread((void(__cdecl *)(void *))thdA,0,(void *)1);
while (1) {
Sleep(500);
EnterCriticalSection(&CS);
ftime(&tb);
now=localtime(&tb.time);
sprintf(datestr,"%04d-%02d-%02d",now->tm_year+1900,now->tm_mon+1,now->tm_mday);
sprintf(timestr,"%02d:%02d:%02d",now->tm_hour ,now->tm_min ,now->tm_sec );
sprintf(mss,"%03d",tb.millitm);
printf("%s %s.%s var1==%d\n",datestr,timestr,mss,var1);
if (var1==9) {
LeaveCriticalSection(&CS);
break;
} else {
LeaveCriticalSection(&CS);
}
}
DeleteCriticalSection(&CS);
return 0;
}
//2013-06-19 16:51:02.468 var1==1
//2013-06-19 16:51:02.968 var1==1
//2013-06-19 16:51:03.468 var1==1
//2013-06-19 16:51:03.968 var1==1
//2013-06-19 16:51:04.468 var1==2
//2013-06-19 16:51:04.968 var1==2
//2013-06-19 16:51:05.468 var1==2
//2013-06-19 16:51:05.968 var1==2
//2013-06-19 16:51:06.468 var1==3
//2013-06-19 16:51:06.968 var1==3


//2013-06-19 16:51:07.468 var1==3
//2013-06-19 16:51:07.968 var1==4
//2013-06-19 16:51:08.468 var1==4
//2013-06-19 16:51:08.968 var1==4
//2013-06-19 16:51:09.468 var1==4
//2013-06-19 16:51:09.968 var1==4
//2013-06-19 16:51:10.468 var1==5
//2013-06-19 16:51:10.968 var1==5
//2013-06-19 16:51:11.468 var1==5
//2013-06-19 16:51:11.968 var1==5
//2013-06-19 16:51:12.468 var1==6
//2013-06-19 16:51:12.968 var1==6
//2013-06-19 16:51:13.468 var1==6
//2013-06-19 16:51:13.968 var1==6
//2013-06-19 16:51:14.468 var1==7
//2013-06-19 16:51:14.968 var1==7
//2013-06-19 16:51:15.468 var1==7
//2013-06-19 16:51:15.968 var1==7
//2013-06-19 16:51:16.468 var1==8
//2013-06-19 16:51:16.968 var1==8
//2013-06-19 16:51:17.468 var1==8
//2013-06-19 16:51:17.968 var1==8
//2013-06-19 16:51:18.468 var1==9
//

读书人网 >C++

热点推荐