1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
| #include "test.h"
| using namespace std;
| int main () {
| unsigned int i = 0;
| struct Item
| {
| int pic;
| int info;
| };
|
|
| struct Item item;
|
| size_t qsize = 10;
| SArrayLockFreeQueue<struct Item> *queue = QFactory::createArrayLockFreeQueue<struct Item> (1, qsize);
|
|
| for(i = 0; i < qsize; i++) {
|
| queue->add({i, i});
| }
|
| for(i = 0; i < qsize; i++) {
|
| //queue->dequeue(item);
|
| item = (*queue)[i];
| cout << "i=" << i << " item " << item.pic << "," << item.info << endl;
| }
|
|
|
| struct timespec timeout = {5, 0};
|
| i = 0;
| while((queue->remove_timeout(item, &timeout)) ) {
| cout << i << " 出队:" << item.pic << ", " << item.info << endl;
| // cout << item.pic << endl;
|
| i++;
|
| }
|
|
| destroy();
|
| }
|
|