测试代码:

BlockingQueue _queue;
 
void* process(void* arg)
{
 
    int i=0;
    while(true)
    {
        int *j = new int();
        *j = i;
        _queue.append((void *)j);
        i ++;
    }
    return NULL;
}
 
int main(int argc,char** argv)
{
    pthread_t pid;
    pthread_create(&pid,0,process,0);
 
    long long int start = get_os_system_time();
    int i = 0;
    while(true)
    {
        int* j = NULL;
        _queue.peek((void* &)j);
 
        i ++;
 
        if(j != NULL && (*j) == 100000)
        {
            long long int end = get_os_system_time();
            printf("consume %d ",end - start);
            break;
        }
    }
 
    return 0;
}

  欢迎拍砖!!!