Improvements and Simplifications to ThreadPool #3
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.
Improvements/changes largely based on feedback from Code Review and Reddit
Changed
typedefs
(YAGNI)Queue
template parameter (also YAGNI)std::deque
instead ofstd::queue
indp::thread_safe_queue
std::deque
indp::thread_pool
so that usage ofstd::unique_ptr
is no longer needed for internal task objects.Fixed
dp::thread_safe_queue
's usage of lock guards before notifying threads of new data being available.