void fun1(void* data) { TaskQueue* queue = static_cast<TaskQueue*>(data); cout<< " thread "<< std::this_thread::get_id()<<" run" << endl; std::chrono::milliseconds dura( 5); cout.flush(); for (int i = 0; i < 10; i++) { Task* task = new DemonTask(); queue->PushBack(task); //std::this_thread::sleep_for(dura); } cout<<"f1:queue size" << queue->size()<<endl;; cout.flush(); Task* task = queue->PopFront(); task->Action(); //task->Release(); cout<<"f1:queue size" << queue->size()<<endl;; cout.flush(); }