From 37a7bd95042c19d7334b099d50ac6dc8e07e4b4e Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期二, 07 七月 2020 16:40:51 +0800
Subject: [PATCH] update

---
 test/multiple_queue_consumer.c |   16 +++++++++-------
 1 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/test/consumer.c b/test/multiple_queue_consumer.c
similarity index 71%
rename from test/consumer.c
rename to test/multiple_queue_consumer.c
index 6542b27..7281e44 100644
--- a/test/consumer.c
+++ b/test/multiple_queue_consumer.c
@@ -2,9 +2,12 @@
 using namespace std;
 
 
+#define NTHREADS 4 
+struct Targ targs[NTHREADS];
+size_t qsize = 16;
  
 void sigint_handler(int sig) {
-  destroy();
+  mm_destroy();
   exit(0);
 
 }
@@ -14,14 +17,13 @@
 void* run (void *arg) {
   struct Targ * targ = (struct Targ * )arg;
   // SArrayLockFreeQueue<struct Item> *queue = QFactory::createArrayLockFreeQueue<struct Item> (targ->key, 10);
-  SLinkedLockFreeQueue<struct Item> *queue = QFactory::createLinkedLockFreeQueue<struct Item> (targ->key, 10);
-
+  LockFreeQueue<struct Item> *queue = QueueFactory::createQueue<struct Item> (targ->key, qsize);
   struct Item item;
   struct timespec timeout = {5, 0};
 
   int i = 0;
-  while((queue->remove_timeout(item, &timeout)) ) {
-    // cout << "鍑洪槦锛�" << item.pic << ", " << item.info << endl;
+  while((queue->pop_timeout(item, &timeout)) ) {
+    printf("consumer(%d) 鍑洪槦锛� {%d, %d}\n", targ->key, item.pic, item.info);
    // cout <<  item.pic << endl;
 
     i++;
@@ -55,12 +57,12 @@
     if(pthread_join(tids[i], &res[i])!=0) {
       perror("productor pthread_join");
     } else {
-      fprintf(stderr, "cosumer %d 璇诲彇浜� %ld 鏉℃暟鎹甛n", i, (long)res[i]);
+      fprintf(stderr, "cosumer(%d) 璇诲彇浜� %ld 鏉℃暟鎹甛n", i, (long)res[i]);
     }
   }
 
   
-  destroy();
+  mm_destroy();
   cerr << "cosumer quit" << endl;
   exit(EXIT_SUCCESS);
 }
\ No newline at end of file

--
Gitblit v1.8.0