windows多任务操作原理,望高手解答!

来源:百度知道 编辑:UC知道 时间:2024/09/24 06:50:00
微软的操作系统自从win 32 始就步入了多任务处理阶段,那是如何实现多任务同时操作的呢?越详细越好! 首先感谢有兴趣解答此题的人!
能否用一简单的程序(代码)来示例一下实现原理?
好奇,想了解一下windows
那有哪位大牛能用PASCAL这类非可视化的低端点的实现一下?希望能有代码

操作系统为每个线程分配时间片.
其时每一时刻只有一个线程占用CPU(单核);只不过CPU运行速度快,
”看起来像同时一样”;
比如,在现实生活中,电灯用的是交流电.而我们却看不出它在闪烁,就
是因为他变换的频率快,人眼分辨不出而已

#include "stdafx.h"
#include <windows.h>
DWORD WINAPI helloFunc(LPVOID arg){
int i,*N =(int*)arg;
for(i = 0; i <18;i++)
{
printf("Thread %d run in %d\n",*N,i+1);
}
ExitThread(0);
return 0;
}
int main(int argc, char *argv[])
{
HANDLE thread[3];
int x = 0,y = 1,z = 2;
thread[0] = CreateThread(NULL,0,helloFunc,&x,0,NULL);
thread[1] = CreateThread(NULL,0,helloFunc,&y,0,NULL);
thread[2] = CreateThread(NULL,0,helloFunc,&z,0,NULL);

WaitForMultipleObjects(3,thread,TRUE,INFINITE);

return 0;
}

这个我也不清楚,不过我想问一下,楼主,你问这个干嘛?