| | |
| | | hashtable_put(hashtable, key, (void *)queue); |
| | | } |
| | | |
| | | std::cout << "createQueue reference===" << queue->reference << std::endl; |
| | | |
| | | return queue; |
| | | } |
| | | |
| | |
| | | LockFreeQueue<T>* createQueue(int key, size_t size = 16) { |
| | | LockFreeQueue<T> *queue = _createQueue<T>(key, size); |
| | | queue->reference++; |
| | | LoggerFactory::getLogger().debug("createQueue reference===%d", queue->reference.load()); |
| | | return queue; |
| | | } |
| | | |
| | |
| | | return; |
| | | |
| | | queue->reference--; |
| | | std::cout << "dropQueue reference===" << queue->reference << std::endl; |
| | | LoggerFactory::getLogger().debug("dropQueue reference===%d", queue->reference.load()); |
| | | if(queue->reference == 0) { |
| | | delete queue; |
| | | hashtable_t *hashtable = getHashTable(); |