A01-01
函数在调度时是串行,只有在第一个函数返回时才会进行下一个线程。那么如何让两个函数同时工作呢?
Thread:线程技术用于实现并发任务,可以让多个函数同时运行。
main()函数本身被称为"主线程"。
//第一一个类
class MyTask:public OS_Thread
{
private:
virtual int Routine()
{
//线程体:需要执行的任务
}
return 0;
}
//运行一个线程
MyTask task;
task.Run();
下面举一个多线程应用的例子
#include
#include "osapi/Thread.h"
class MyTask1 :public OS_Thread
{
private:
virtual int Routine()
{
for (int i = 0; i < 10; i++)
{
printf("AAAAAA\n");
OS_Thread::Sleep(1); //使线程暂停1秒
}
return 0;
}
};
class MyTask2 :public OS_Thread
{
private:
virtual int Routine()
{
for (int i = 0; i < 10; i++)
{
printf("BBBBBB\n");
OS_Thread::Sleep(2);
}
return 0;
}
};
int main()
{
MyTask1 a;
a.Run(); //a线程开始工作
MyTask2 b;
b.Run(); //b线程开始工作
getchar();
return 0;
}
注:关于博客中的第三方库"osapi",可以通过访问http://www.afanihao.cn的共享代码模块中获
详情请参见http://www.afanihao.cn/的应用篇