#include #include #include #include #include using namespace std; std::mutex mut; std::list bbbb; int a = 0; void func() { for (int i = 0; i < 1000; i++) { bbbb.push_back(a); cout << a << "数字添加成功\n"; a++; } } void func1() { for (int i = 0; i < 5000; i++) { mut.lock(); if (bbbb.size() > 0) { cout << *bbbb.begin() << "数字删除成功\n"; bbbb.pop_front(); } else { i--; } mut.unlock(); } } int main() { //thread t1([] { // //}); thread t2[10]; for (size_t i = 0; i < 5; i++) { t2[i] = thread (func); } for (size_t i = 0; i < 5; i++) { t2[i + 5] = thread(func1); } for (size_t i = 0; i < 10; i++) { t2[i].join(); } //cout << "最后值" << a.load()->code; return 0; }