关于优先级发送数据问题(急)
本人有段程序,想实现基于高低优先级发送数据的程序,高优先级的数据能抢占低优先级数据发送,这里还有如果发送不成功阻塞,以后接着原队列数据的位置继续发送。
但我写的程序好像不能完成上述功能,请高手指教:
我的程序如下:
#define ID 100
#define Pri 2 //分成高低优先级队列 0高优先级,1低优先级
typedef struct TXBUF
{
int iflag;//是否有数据标识
int ilen;//数据长度
char * pchData;
}
TxBUF m_stbuffer[Pri][ID] //发送数据的结构
void SendTask()
{
int i,j;
int result;
while(1)
{
for (i=0;i<Pri;i++)
for (j=0;j<ID;j++)
{
result = Write(m_stbuffer[i][j]);//有可能阻塞,写不成功
...
}
}
}