在VC6.0中,我创建了支持MFC的控制台程序,要实现如下功能:一个线程实现学生成绩信息的录入和保存,一个线程实现隔10秒(或30秒)自动显示学生成绩信息。请高手帮我解决这个问题....我希望能进行添加操作,同时,隔10(或30)秒自动执行显示的操作..显示3(或5)秒后继续进行添加操作(可以是被打断,也可以是重新执行)(谢谢啦~~)
目前我是这样做的出了错:我用management类实现了录入、保存、显示三个功能,再新建了Thread类,在主函数所在的cpp文件中用AddThread和ShowThread来继承Thread类,这三个类的相关函数如下://Thread.hclass Thread 
{
public:
Thread();
void start();
virtual void run();
HANDLE getThread();
virtual ~Thread();
private:
HANDLE hThread;
static void agent(void *p);//它是一个静态方法,但是它是被声明为私有的方法,只有在内部才可以被调用,整个类从start启动,然后由 它来通过创建一个新的线程执行run()

//Thread.cpp
void Thread::start()
{
hThread =(HANDLE)_beginthread(agent, 0, (void *)this);
}
void Thread::run()
{
cout << "Base Thread" << endl;
}
void Thread::agent(void *p)
{
Thread *agt = (Thread *)p;
agt->run();
}
HANDLE Thread::getThread()
{
return hThread;
}

////下面是添加线程和显示线程
class AddThread: public Thread
{
public:
void run();
};
void AddThread::run()
{management people(filename);
people.Add();
}class ShowThread: public Thread
{
public:
void run();
};
void ShowThread::run()
{
management people1(filename);
for(i;i<100;i++)
{
people1.ShowInfo();
Sleep(10000);
}
}

////下面是在主函数中启动线程和调用
AddThread *dt1 = new AddThread();
dt1->start();
ShowThread *dt2 = new ShowThread();
dt2->start();
WaitForSingleObject(dt1->getThread(), 5000);
WaitForSingleObject(dt2->getThread(), 10000);但是运行后出错.估计是指针出问题.内存泄漏,,第二次运行就没有任何显示..在用ctrl+F5 运行结果如下:
接着就能隔10秒显示一次内容,但是无法进行添加操作..
请高手帮我解决这个问题....我希望能进行添加操作,同时,隔10(或30)秒自动执行显示的操作..显示3(或5)秒后继续进行添加操作(可以是被打断,也可以是重新执行)谢谢啦~~我初次接触支持MFC的控制台程序,更别说多线程了,,晕了~~