不考虑多线程的情况下,进出一次互斥锁的时间大概是 0.02 微秒,
#include <QCoreApplication>
#include<mutex>
#include<chrono>
#include<iostream>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
int num = 1000 * 1000 * 1000;
std::chrono::steady_clock::time_point _start = std::chrono::steady_clock::now();
for(int i=0; i<num; )
{
i++;
}
int mis = std::chrono::duration_cast<std::chrono::microseconds>
(std::chrono::steady_clock::now()-_start).count();
std::cout << "num = " << num <<" " << mis*1.0 / num <<std::endl;
std::mutex m;
_start = std::chrono::steady_clock::now();
for(int i=0; i<num; )
{
std::lock_guard<std::mutex> lock(m);
i++