引入一下文件:
1、queue.h
2、queue.c
3、queue_internal.h
4、queue_internal.c
使用:
// Sample Used
1.Create Queue:
queue_t *qt_video = queue_create_limited(100);//队列的元素总容量
2.Put Data:
Type_Data * p_data = (Type_Data *)p;
int ret = queue_put(qt_video, p_data);
if(ret != Q_OK){
free(p_data);
}
3.Get Data:
Type_Data * get_frm_pkg = NULL;
queue_get(qt_video, (void**)&get_frm_pkg);
4.Number of Data:
int cache_counts = queue_elements(qt_video);
5.Destroy Queue:
if (qt_video != NULL) {
queue_destroy_complete(qt_video, queue_clean_video);
qt_video = NULL;
}
static void queue_clean_video(void* tmp){
Type_Data * qt_tmp = (Type_Data *)tmp;
if (qt_tmp != NULL) {
free(qt_tmp);
}
}
代码连接:
https://pan.baidu.com/s/10RF5PzuT27Mb7HmYBW6s0A