#include <Windows.h>
#include <iostream>
using namespace std;
DWORD WINAPI ThreadMuti1(
LPVOID lpParameter
);
DWORD WINAPI ThreadMuti2(
LPVOID lpParameter
);
DWORD WINAPI ThreadMuti3(
LPVOID lpParameter
);
DWORD WINAPI ThreadMuti4(
LPVOID lpParameter
);
DWORD WINAPI ThreadMuti5(
LPVOID lpParameter
);
DWORD WINAPI ThreadMuti6(
LPVOID lpParameter
);
void main()
{
HANDLE HanThread1 = CreateThread(NULL,0,ThreadMuti1,NULL,0,NULL);
HANDLE HanThread2 = CreateThread(NULL,0,ThreadMuti2,NULL,0,NULL);
HANDLE HanThread3 = CreateThread(NULL,0,ThreadMuti3,NULL,0,NULL);
HANDLE HanThread4 = CreateThread(NULL,0,ThreadMuti4,NULL,0,NULL);
HANDLE HanThread5 = CreateThread(NULL,0,ThreadMuti5,NULL,0,NULL);
HANDLE HanThread6 = CreateThread(NULL,0,ThreadMuti6,NULL,0,NULL);
CloseHandle(HanThread1);
CloseHandle(HanThread2);
CloseHandle(HanThread3);
CloseHandle(HanThread4);
CloseHandle(HanThread5);
CloseHandle(HanThread6);
// cout<<" 0 "<<endl;
Sleep(4000);
}
DWORD WINAPI ThreadMuti1(
LPVOID lpParameter
)
{
cout<<" 1 "<<endl;
return 0;
}
DWORD WINAPI ThreadMuti2(
LPVOID lpParameter
)
{
cout<<" 2 "<<endl;
return 0;
}
DWORD WINAPI ThreadMuti3(
LPVOID lpParameter
)
{
cout<<" 3 "<<endl;
return 0;
}
DWORD WINAPI ThreadMuti4(
LPVOID lpParameter
)
{
cout<<" 4 "<<endl;
return 0;
}
DWORD WINAPI ThreadMuti5(
LPVOID lpParameter
)
{
cout<<" 5 "<<endl;
return 0;
}
DWORD WINAPI ThreadMuti6(
LPVOID lpParameter
)
{
cout<<" 6 "<<endl;
return 0;
}
基于Win 32控制台程序。
本机是 4核CPU ,
说明:每一个线程都会输出一个数字, 最后输出的数字的顺序是随机的,有时候是2开头,有时是1开头,
例如:
第一个问题:线程是按照创建顺序运行的吗?
第二个问题:按道理说每一个CPU可以运行一个线程,那么我的4核CPU可以运行4个线程,
为何6个线程都会运行? 难道最后俩个是 时间片 运行吗?
第三个:我的4核CPU 是否只能同时运行 1个主线程+3个副线程?
老油子们速来。
[课程]FART 脱壳王!加量不加价!FART作者讲授!