聲明:本文為原創(chuàng)博文,轉(zhuǎn)載請注明出處。

     在libuv中,有一個(gè)只使用簡單的宏封裝成的高效隊(duì)列(queue),現(xiàn)在我們就來看一下它是怎么實(shí)現(xiàn)的。

     首先,看一下queue中最基本的幾個(gè)宏:

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

1 typedef void *QUEUE[2];2 3 /* Private macros. */4 #define QUEUE_NEXT(q)       (*(QUEUE **) &((*(q))[0]))5 #define QUEUE_PREV(q)       (*(QUEUE **) &((*(q))[1]))6 #define QUEUE_PREV_NEXT(q)  (QUEUE_NEXT(QUEUE_PREV(q)))7 #define QUEUE_NEXT_PREV(q)  (QUEUE_PREV(QUEUE_NEXT(q)))

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

     首先,QUEUE被聲明成一個(gè)"具有兩個(gè)char*元素的指針數(shù)組",如下圖:

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式