improve: use modern implementations to manage threads #1756
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Improvement: Modernized Thread Management
Description:
This pull request updates the thread management constructs within the codebase. It shifts from using
std::lock_guard
tostd::scoped_lock
for managing mutexes, providing a more modern and safer scope-based locking mechanism. Additionally, it replacesstd::condition_variable
withstd::atomic::wait
, leveraging the more efficient and scalable waiting and notification system provided by atomics.Benefits:
std::scoped_lock
is more flexible thanstd::lock_guard
, allowing for handling multiple mutexes without the risk of deadlock.std::atomic::wait
introduces potential performance gains by utilizing a more lightweight synchronization mechanism compared to traditional condition variables.Impact:
These improvements are expected to enhance the safety and efficiency of concurrent operations. They modernize the codebase, aligning it with current best practices for C++ concurrency.