首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

怎么每隔一段时间修改一个变量的值 并且放在程序后台进行

2013-06-25 
怎样每隔一段时间修改一个变量的值 并且放在程序后台进行作业要求做一个模拟电梯的系统假如我想要电梯每隔

怎样每隔一段时间修改一个变量的值 并且放在程序后台进行
作业要求做一个模拟电梯的系统   假如我想要电梯每隔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
//

热点排行