From 0e45acf8ce29bfaaef9396eae1e238a7f333ee0d Mon Sep 17 00:00:00 2001 From: Samer Afach Date: Tue, 6 Jun 2017 19:07:50 +0200 Subject: [PATCH] Clean-up --- CMakeLists.txt | 2 +- include/ThreadPool.h | 9 ++++----- main.cpp | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index dece3ed..36897b6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 2.8) project(ThreadPool) -add_library(threadpool_lib "src/ThreadPool.cpp") +add_library(threadpool_lib "include/ThreadPool.cpp") add_executable(${PROJECT_NAME} "main.cpp") diff --git a/include/ThreadPool.h b/include/ThreadPool.h index fe40eaf..d4365aa 100644 --- a/include/ThreadPool.h +++ b/include/ThreadPool.h @@ -9,14 +9,14 @@ #include class ThreadPool { - int numOfThreads; + long numOfThreads; std::deque> _tasks; std::mutex _queueLock; std::atomic stopped{false}; bool startedAlready = false; std::condition_variable _queueCond; std::condition_variable _threadFinishedCond; - std::atomic_int numOfThreadsRunning{0}; + long numOfThreadsRunning = 0; std::vector _threads; protected: @@ -28,7 +28,7 @@ public: inline ~ThreadPool(); inline void push(const std::function &task); inline void - start(const int NumOfThreads = std::thread::hardware_concurrency()); + start(const long NumOfThreads = std::thread::hardware_concurrency()); inline void finish(); }; @@ -67,11 +67,10 @@ ThreadPool::~ThreadPool() { this->finish(); } void ThreadPool::push(const std::function &task) { std::unique_lock lg(_queueLock); _tasks.push_back(task); - lg.unlock(); _queueCond.notify_one(); } -void ThreadPool::start(const int NumOfThreads) { +void ThreadPool::start(const long NumOfThreads) { if (!startedAlready) startedAlready = true; else diff --git a/main.cpp b/main.cpp index a6c574d..06c8ea1 100644 --- a/main.cpp +++ b/main.cpp @@ -1,6 +1,6 @@ #include -#include "src/ThreadPool.h" +#include "include/ThreadPool.h" void SumZeroToNumber(long &num) { long val = 0;