diff --git a/src/UtilsCtrl/ThreadPool/Queue/UAtomicRingBufferQueue.h b/src/UtilsCtrl/ThreadPool/Queue/UAtomicRingBufferQueue.h index 5331f6b5..f191afc1 100644 --- a/src/UtilsCtrl/ThreadPool/Queue/UAtomicRingBufferQueue.h +++ b/src/UtilsCtrl/ThreadPool/Queue/UAtomicRingBufferQueue.h @@ -38,7 +38,7 @@ class UAtomicRingBufferQueue : public UQueueObject { * @return * @notice 谨慎使用,push信息之后,不推荐使用 */ - UAtomicRingBufferQueue* setCapacity(CUInt size) { + UAtomicRingBufferQueue* setCapacity(const CUInt size) { capacity_ = size; ring_buffer_queue_.resize(capacity_); return this; @@ -60,7 +60,7 @@ class UAtomicRingBufferQueue : public UQueueObject { * @return */ template - CVoid push(const std::shared_ptr& value, URingBufferPushStrategy strategy) { + CVoid push(const std::shared_ptr& value, const URingBufferPushStrategy strategy) { { CGRAPH_UNIQUE_LOCK lk(mutex_); if (isFull()) { @@ -90,7 +90,7 @@ class UAtomicRingBufferQueue : public UQueueObject { * @return */ template - CStatus waitPopWithTimeout(std::shared_ptr& value, CMSec timeout) { + CStatus waitPopWithTimeout(std::shared_ptr& value, const CMSec timeout) { CGRAPH_FUNCTION_BEGIN { CGRAPH_UNIQUE_LOCK lk(mutex_); @@ -101,11 +101,7 @@ class UAtomicRingBufferQueue : public UQueueObject { CGRAPH_RETURN_ERROR_STATUS("receive message timeout.") } - /** - * 当传入的内容,是智能指针的时候, - * 这里就直接通过 move转移过去好了,跟直接传值的方式,保持区别 - */ - value = ring_buffer_queue_[head_]; + value = std::move(ring_buffer_queue_[head_]); head_ = (head_ + 1) % capacity_; } push_cv_.notify_one(); @@ -129,7 +125,7 @@ class UAtomicRingBufferQueue : public UQueueObject { * 当前队列是否为满 * @return */ - CBool isFull() { + CBool isFull() const { // 空出来一个位置,这个时候不让 tail写入 return head_ == (tail_ + 1) % capacity_; } @@ -138,7 +134,7 @@ class UAtomicRingBufferQueue : public UQueueObject { * 当前队列是否为空 * @return */ - CBool isEmpty() { + CBool isEmpty() const { return head_ == tail_; } diff --git a/src/UtilsCtrl/ThreadPool/Queue/ULockFreeRingBufferQueue.h b/src/UtilsCtrl/ThreadPool/Queue/ULockFreeRingBufferQueue.h index 6373bfe7..8ae2ac60 100644 --- a/src/UtilsCtrl/ThreadPool/Queue/ULockFreeRingBufferQueue.h +++ b/src/UtilsCtrl/ThreadPool/Queue/ULockFreeRingBufferQueue.h @@ -35,7 +35,7 @@ class ULockFreeRingBufferQueue : public UQueueObject { */ CVoid push(T&& value) { int curTail = tail_.load(std::memory_order_relaxed); - int nextTail = (curTail + 1) % CAPACITY; + const int nextTail = (curTail + 1) % CAPACITY; while (nextTail == head_.load(std::memory_order_acquire)) { // 队列已满,等待其他线程出队 @@ -60,16 +60,16 @@ class ULockFreeRingBufferQueue : public UQueueObject { value = std::move(ring_buffer_[curHead]); - int nextHead = (curHead + 1) % CAPACITY; + const int nextHead = (curHead + 1) % CAPACITY; head_.store(nextHead, std::memory_order_release); return true; } private: - std::atomic head_; // 开始元素(较早写入的)的位置 - std::atomic tail_; // 尾部的位置 - std::vector > ring_buffer_; // 环形队列 + std::atomic head_{}; // 开始元素(较早写入的)的位置 + std::atomic tail_{}; // 尾部的位置 + std::vector > ring_buffer_; // 环形队列 }; CGRAPH_NAMESPACE_END diff --git a/src/UtilsCtrl/ThreadPool/UThreadPool.h b/src/UtilsCtrl/ThreadPool/UThreadPool.h index 0067345d..31edc1c2 100644 --- a/src/UtilsCtrl/ThreadPool/UThreadPool.h +++ b/src/UtilsCtrl/ThreadPool/UThreadPool.h @@ -133,7 +133,7 @@ class UThreadPool : public UThreadObject { /** * 针对单个任务的情况,复用任务组信息,实现单个任务直接执行 - * @param task + * @param func * @param ttl * @param onFinished * @return diff --git a/src/UtilsCtrl/ThreadPool/UThreadPoolDefine.h b/src/UtilsCtrl/ThreadPool/UThreadPoolDefine.h index 0d2f32fd..f7b8d05c 100644 --- a/src/UtilsCtrl/ThreadPool/UThreadPoolDefine.h +++ b/src/UtilsCtrl/ThreadPool/UThreadPoolDefine.h @@ -10,7 +10,6 @@ #define CGRAPH_UTHREADPOOLDEFINE_H #include -#include #if __cplusplus >= 201703L #include #endif @@ -19,7 +18,7 @@ CGRAPH_NAMESPACE_BEGIN -static const CInt CGRAPH_CPU_NUM = (CInt)std::thread::hardware_concurrency(); +static const CInt CGRAPH_CPU_NUM = static_cast(std::thread::hardware_concurrency()); static const CInt CGRAPH_THREAD_TYPE_PRIMARY = 1; static const CInt CGRAPH_THREAD_TYPE_SECONDARY = 2; #ifndef _WIN32