Do not use shared_ptr where not required
This commit is contained in:
parent
58753ba33c
commit
c652919954
@ -370,8 +370,7 @@ class ThreadPool : public TaskQueue {
|
|||||||
public:
|
public:
|
||||||
explicit ThreadPool(size_t n) : shutdown_(false) {
|
explicit ThreadPool(size_t n) : shutdown_(false) {
|
||||||
while (n) {
|
while (n) {
|
||||||
auto t = std::make_shared<std::thread>(worker(*this));
|
threads_.emplace_back(worker(*this));
|
||||||
threads_.push_back(t);
|
|
||||||
n--;
|
n--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -395,8 +394,8 @@ public:
|
|||||||
cond_.notify_all();
|
cond_.notify_all();
|
||||||
|
|
||||||
// Join...
|
// Join...
|
||||||
for (auto t : threads_) {
|
for (auto& t : threads_) {
|
||||||
t->join();
|
t.join();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -428,7 +427,7 @@ private:
|
|||||||
};
|
};
|
||||||
friend struct worker;
|
friend struct worker;
|
||||||
|
|
||||||
std::vector<std::shared_ptr<std::thread>> threads_;
|
std::vector<std::thread> threads_;
|
||||||
std::list<std::function<void()>> jobs_;
|
std::list<std::function<void()>> jobs_;
|
||||||
|
|
||||||
bool shutdown_;
|
bool shutdown_;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user