记录一个有意思的现象,
假设我们启动N个线程,同时执行一个线程函数,线程函数先是进入循环进行抢占锁,然后睡眠一段时间模拟处理业务的过程,然后释放锁,然后进行下一次循环,代码如下:
std::mutex mtx;
void fun()
{
while (true)
{
mtx.lock();
std::cout << "thread_id = " << std::this_thread::get_id()
记录一个有意思的现象,
假设我们启动N个线程,同时执行一个线程函数,线程函数先是进入循环进行抢占锁,然后睡眠一段时间模拟处理业务的过程,然后释放锁,然后进行下一次循环,代码如下:
std::mutex mtx;
void fun()
{
while (true)
{
mtx.lock();
std::cout << "thread_id = " << std::this_thread::get_id()