#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <iomanip>
#include <math.h>
#include <ctime>
#include <thread>
#include <Windows.h>
using namespace std;
void main()
{
double time = 0;
double counts = 0;
LARGE_INTEGER nFreq;
LARGE_INTEGER nBeginTime;
LARGE_INTEGER nEndTime;
QueryPerformanceFrequency(&nFreq);
QueryPerformanceCounter(&nBeginTime);//开始计时
void collision_list_1(); //函数声明
void collision_list_2();
thread collision_test[2];//创建两个线程
collision_test[0] = thread{ collision_list_1};
collision_test[0].detach();
collision_test[1] = thread{ collision_list_2};
collision_test[1].detach();
QueryPerformanceCounter(&nEndTime);//停止计时并输出
time = (double)(nEndTime.QuadPart - nBeginTime.QuadPart) / (double)nFreq.QuadPart;
cout << "多线程程序执行时间:" << time * 1000 << "ms" << endl;
double time_1 = 0;
double counts_1 = 0;
LARGE_INTEGER nFreq_1;
LARGE_INTEGER nBeginTime_1;
LARGE_INTEGER nEndTime_1;
QueryPerformanceFrequency(&nFreq_1);
QueryPerformanceCounter(&nBeginTime_1);//开始计时
collision_list_1();//顺序执行两个函数
collision_list_2();
QueryPerformanceCounter(&nEndTime_1);//停止计时并输出
time_1 = (double)(nEndTime_1.QuadPart - nBeginTime_1.QuadPart) / (double)nFreq_1.QuadPart;
cout << "顺序程序执行时间:" << time_1 * 1000 << "ms" << endl;
system("pause");
}
void collision_list_1()
{
for (int i = 0; i < 100000;i++)
{
int count = 0;
count++;
}
}
void collision_list_2()
{
for (int i = 0; i < 100000; i++)
{
int count = 0;
count++;
}
}