linux内核队列实现
来源:互联网 发布:魔兽世界大脚mac 编辑:程序博客网 时间:2024/06/05 04:57
linux内核队列实现
/*****author:方福建date:2017/07/24*****/#ifndef _SIMPLEQUEUE_#define _SIMPLEQUEUE_#ifdef __cplusplusextern "C" {#endif#include "kdvtype.h"const u32 m_gMaxSize=100;class SimpleQueue{public: SimpleQueue() { SetMaxSize(m_gMaxSize); m_nIn=0; m_nOut=0; memset(m_pData,0,sizeof(m_pData)); } virtual ~SimpleQueue() { } u32 MaxSize() { return m_dwMaxSize; } u32 Size() { return m_nIn-m_nOut; } s32 Put(void *pIn) { if(m_nIn-m_nOut>=m_dwMaxSize) return -1; u32 nPos=m_nIn & m_dwMaxSizeLess; m_pData[nPos]=pIn; m_nIn++; return 0; } s32 Fetch(void **pOut) { if(m_nIn-m_nOut<=0) return -1; u32 nPos=m_nOut & m_dwMaxSizeLess; *pOut=m_pData[nPos]; m_nOut++; return 0; }private: void SetMaxSize(u32 dwMaxSize) { m_dwMaxSize=dwMaxSize; m_dwMaxSizeLess=m_dwMaxSize-1; }private: void * m_pData[m_gMaxSize]; u32 m_dwMaxSize; u32 m_dwMaxSizeLess; volatile u32 m_nIn; volatile u32 m_nOut;};#ifdef __cplusplus}#endif#endif
阅读全文
1 0
- linux内核队列实现
- linux 下内核中消息队列实现
- Linux 内核的队列实现--kfifo
- Linux 内核的队列实现--kfifo
- linux内核的队列实现移植
- linux内核--使用内核队列实现ringbuffer(续)
- LINUX内核-等待队列
- linux 内核等待队列
- linux 内核 队列 kfifo
- linux 内核 工作队列
- Linux内核工作队列
- Linux内核等待队列
- Linux内核等待队列
- Linux内核:工作队列
- Linux 内核等待队列
- Linux 内核工作队列
- Linux内核:工作队列
- linux内核工作队列
- 我所不知道的TCP Socket编程(六)-高级内容简介
- Servlet基础知识1
- SpringBoot 入门与配置
- 远程共享工具USB Network Gate v8.0.1828发布,支持Windows Server 2016
- table实时编辑函数封装
- linux内核队列实现
- 教你如何使用android studio发布release 版本(完整版)
- 剑指offer—写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
- MTK6737N平台做反复重启开关机测试卡在开机动画界面不开机
- zTree全复制包含父子节点关系
- oracle data guard broker配置与使用(上)
- UICollectionView 设置section的背景色
- 基于centos搭建wordpress个人博客
- python读写excel的强大工具:openpyxl