C++11多线程unique_locksleep时,是否添加打印影响sleep时长

void print_block(int n, char c)
{

// critical section (exclusive access to std::cout signaled by lifetime of lck):

  printf("---------------before lock\n");
  std::unique_lock<std::mutex> lck (mtx);
   for (int i=0; i<n; ++i) 
   {   
       int sleepnum = get_random();

// printf("sleep num = %d \n",sleepnum);
std::chrono::milliseconds dura(sleepnum*10);
std::this_thread::sleep_for(dura);
std::cout << c;
}

std::cout << '\n';

}

int main()
{

std::thread th1 (print_block,120,'1');
std::thread th2 (print_block,120,'2');
th1.join();
th2.join();

    return 0;

}
把printsleepnum注释之后,sleep的时间变长了很多,为什么会这样?