From fad41c80b39df7dc6a08467f36840748567d34bc Mon Sep 17 00:00:00 2001 From: Romain CLEMENT Date: Tue, 17 Oct 2023 20:36:21 +0200 Subject: [PATCH] Put attendant thread in background This allow main thread to terminate without any error when each car thread has terminated. It's more accurate, because otherwise the attendant will wait forever and block the program. --- main.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/main.cpp b/main.cpp index 7b15d69..9123e68 100644 --- a/main.cpp +++ b/main.cpp @@ -74,7 +74,10 @@ void attendant() int main() { print("Car wash opening with " << N << " waiting spaces"); + thread attendantThread(attendant); + attendantThread.detach(); + vector cars {}; for(size_t i = 0; i < N+1; ++i) { @@ -82,7 +85,6 @@ int main() cars.push_back(std::move(t)); } - attendantThread.join(); for (auto &car: cars) { car.join(); }