Преглед изворни кода

V0.4.2
1、修改了RingQueue
2、FmtLog取出文件名有问题
3、RingQueue存储和取出指针有问题,需要添加环境变量

Apple пре 4 месеци
родитељ
комит
5fd01dbae4
2 измењених фајлова са 16 додато и 1 уклоњено
  1. 1 1
      common/OneThread/OneThread.h
  2. 15 0
      common/RingQueue/RingQueue.hpp

+ 1 - 1
common/OneThread/OneThread.h

@@ -13,7 +13,7 @@
  * 使用方法:
  *      1. 创建一个OneThread对象,传入一个QThread对象,或者不传入,会自动创建一个QThread对象
  *      2. 使用addTask或者addTaskRunOne添加任务,addTask会进入循环,addTaskRunOne只会执行一次
- *      3. 使用bindTask绑定函数和参数,手动触发信号,注意,触发信号前,要先开启子线程getThread()->start();
+ *      3. 不使用addTask,直接使用bindTask绑定函数和参数,手动触发信号,注意,触发信号前,要先开启子线程getThread()->start();
  * 
  *  使用示例:
  *     1、非成员函数 

+ 15 - 0
common/RingQueue/RingQueue.hpp

@@ -48,6 +48,8 @@ public:
     T& deQueue();
     /* 获取队列中第一个值(下一个出队的元素),但是不出队 */
     T& front();
+    /* 获取队列中将要入队的位置的元素(如果队列中存储的是指针,这里就是获取这块地址的指针) */
+    T& back();
     /* 获取队列大小,队列中有效值的大小 */
     long getQueueSize();
     /* 获取队列容量 */
@@ -222,6 +224,19 @@ T& RingQueue<T>::front()
     return m_queue[m_front];
 }
 
+/* 获取队列中将要入队的位置的元素(如果队列中存储的是指针,这里就是获取这块地址的指针) */
+template<typename T>
+T& RingQueue<T>::back()
+{
+    std::lock_guard<std::mutex> lock(m_mutex);
+    if(isEmpty())
+    {
+        return T();
+    }
+
+    return m_queue[m_rear];
+}
+
 /* 获取队列中有效值的大小 */
 template<typename T>
 long RingQueue<T>::getQueueSize()