void print2() { while (1) { unique_lock<mutex> lk(mx2); cv1.wait(lk); double t2; double t2=q2.back(); lock_guard<mutex> guard(mx1); while (t1-q1.front()>1) q1.pop_front(); for (int i=0; i<q1.size(); i++) { cout << q1[i] << " " << t2 << endl; } } }