remove extra shared_ptr use from util::ThreadPool

This commit is contained in:
MihailRis
2024-10-24 11:49:06 +03:00
parent 7f0e12bb4e
commit 054b3926cd
6 changed files with 25 additions and 26 deletions
+5 -5
View File
@@ -27,8 +27,8 @@ public:
: converter(std::move(converter)) {
}
int operator()(const std::shared_ptr<ConvertTask>& task) override {
converter->convert(*task);
int operator()(const ConvertTask& task) override {
converter->convert(task);
return 0;
}
};
@@ -169,10 +169,10 @@ std::shared_ptr<Task> WorldConverter::startTask(
);
auto& converterTasks = converter->tasks;
while (!converterTasks.empty()) {
const ConvertTask& task = converterTasks.front();
auto ptr = std::make_shared<ConvertTask>(task);
pool->enqueueJob(ptr);
ConvertTask task = std::move(converterTasks.front());
converterTasks.pop();
pool->enqueueJob(std::move(task));
}
pool->setOnComplete([=]() {
converter->write();