佇列(fifo)一種資料結構,特點先入先出。應用比如訊息處理等,訊息無法第一時間響應,先將訊息入隊,順序執行。
佇列實現基本步驟:建立、刪除、入隊、出隊。複雜邏輯也是基於基本形式擴充套件。
簡單陣列實現:
#include#include#include#define true 1
#define false 0
/************struct definition**************/
typedef struct msg_tagmsg_t;
typedef struct queue_tagqueue_t;
/***********function declaraction***************/
queue_t *creat_queue(void);
void delete_queue(queue_t *queue);
int en_queue(int msg,queue_t *queue);
int re_queue(queue_t *queue);
void udelay(void);
/**********function definition***********/
queue_t *creat_queue(void)
memset(queue_handle,0,sizeof(queue_t));
return queue_handle;
}void delete_queue(queue_t *queue)
int is_full(queue_t *queue)
int is_empty(queue_t *queue)
int en_queue(int msg,queue_t *queue)
queue->msg[queue->rear] = msg;
queue->rear = (queue->rear+1)%5;
queue->queue_size++;
return true;
}int re_queue(queue_t *queue)
msg_print = queue->msg[queue->front];
queue->front = (queue->front+1)%5;
queue->queue_size--;
printf("data :%d\n",msg_print);
return true;
}int main(int argc,char **ar**)
udelay();
if(false == re_queue(demo_queue))
if(false == re_queue(demo_queue))
return 0;
} void udelay(void)
}
PHP訊息佇列實現及應用
目前對訊息佇列並不了解其原理,本篇文章主要是通過慕課網學習歸納的一些筆記,為後續學習打下基礎。眾所周知在對 設計的時候,會遇到給使用者 簡訊 訂單系統有大量的日誌 秒殺設計 等,伺服器沒法處理這種瞬間迸發的壓力,這種情況要保證系統正常有效的使用,就需要 訊息佇列 的幫助。本篇主要通過訊息佇列的思路進...
PHP訊息佇列實現及應用
目前對訊息佇列並不了解其原理,本篇文章主要是通過慕課網學習歸納的一些筆記,為後續學習打下基礎。眾所周知在對 設計的時候,會遇到給使用者 簡訊 訂單系統有大量的日誌 秒殺設計 等,伺服器沒法處理這種瞬間迸發的壓力,這種情況要保證系統正常有效的使用,就需要 訊息佇列 的幫助。本篇主要通過訊息佇列的思路進...
PHP訊息佇列實現及應用
參考 目前對訊息佇列並不了解其原理,本篇文章主要是通過慕課網學習歸納的一些筆記,為後續學習打下基礎。眾所周知在對 設計的時候,會遇到給使用者 簡訊 訂單系統有大量的日誌 秒殺設計 等,伺服器沒法處理這種瞬間迸發的壓力,這種情況要保證系統正常有效的使用,就需要 訊息佇列 的幫助。本篇主要通過訊息佇列的...