void reader_thread() { while(1) { MapPtr data = getData(); readCount_ ++; printf("reader thread[%ld] : read one\n", this_thread::tid()); if(data->size() > test_max_loop) { break; } } }
void reader_thread() { while(1) { // data 一旦拿到,就不再需要锁了。取数据的时候只有getData()内部有锁,多线程并发读的性能很好。 MapPtr data = getData(); readCount_ ++; printf("reader thread[%ld] : read one\n", this_thread::tid()); if(data->size() > test_max_loop) { break; } } }