From 302ae4427b04a25e4f1ee8acadbb05bf902f47f7 Mon Sep 17 00:00:00 2001 From: wangzhengquan <wangzhengquan85@126.com> Date: 星期一, 06 七月 2020 19:09:58 +0800 Subject: [PATCH] update --- squeue/include/queue_factory.h | 21 +++++++++------------ 1 files changed, 9 insertions(+), 12 deletions(-) diff --git a/squeue/include/QFactory.h b/squeue/include/queue_factory.h similarity index 68% rename from squeue/include/QFactory.h rename to squeue/include/queue_factory.h index 971b4c6..6c71d14 100644 --- a/squeue/include/QFactory.h +++ b/squeue/include/queue_factory.h @@ -3,13 +3,10 @@ #include "usg_common.h" #include "mm.h" #include "hashtable.h" -#include "SArrayLockFreeQueue.h" +#include "lock_free_queue.h" #include "SLinkedLockFreeQueue.h" -namespace QFactory{ - - - +namespace QueueFactory{ template <typename T> SLinkedLockFreeQueue<T>* createLinkedLockFreeQueue(int key, size_t size) { @@ -32,18 +29,18 @@ template <typename T> - SArrayLockFreeQueue<T>* createArrayLockFreeQueue(int key, size_t size) { + LockFreeQueue<T>* createArrayLockFreeQueue(int key, size_t size=16) { hashtable_t *hashtable; - SArrayLockFreeQueue<T> *queue; + LockFreeQueue<T> *queue; int first; first = mm_init(sizeof(hashtable_t), (void **)&hashtable); if (first) hashtable_init(hashtable);; - - if ((queue = (SArrayLockFreeQueue<T> *)hashtable_get(hashtable, key)) == NULL ) { - queue = new SArrayLockFreeQueue <T>(size); + //LockFreeQueue<int, 10000> q; + if ((queue = (LockFreeQueue<T> *)hashtable_get(hashtable, key)) == NULL ) { + queue = new LockFreeQueue<T>(size); hashtable_put(hashtable, key, (void *)queue); } @@ -52,8 +49,8 @@ template <typename T> - SAbstractQueue<T>* createQueue(int key, size_t size) { - return QFactory::createLinkedLockFreeQueue<T>(key, size); + LockFreeQueue<T>* createQueue(int key, size_t size) { + return QueueFactory::createArrayLockFreeQueue<T>(key, size); } } -- Gitblit v1.8.0