• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于SylixOS的高效生產(chǎn)者消費者模型編程應(yīng)用設(shè)計

    2019-10-21 18:52:14秦飛
    科學(xué)與財富 2019年31期

    秦飛

    摘 要:在SylixOS下,介紹了基于傳統(tǒng)消息隊列和高效協(xié)程模式兩種生產(chǎn)者-消費者模型的編程方法,比較兩種模式的編程方法在互斥和同步機制上的區(qū)別及其帶來的消耗。

    關(guān)鍵詞:SylixOS;同步和互斥;協(xié)程

    中圖分類號:TP311.1? ? ? ? ? ? 文獻標(biāo)識碼:A

    引言:

    傳統(tǒng)的生產(chǎn)者-消費者模型中,生產(chǎn)者和消費者之間的關(guān)系可以總結(jié)為如下幾點:

    ●生產(chǎn)者與生產(chǎn)者:互斥關(guān)系

    ●消費者與消費者:互斥關(guān)系

    ●生產(chǎn)者與消費者:互斥與同步關(guān)系

    要處理好這些關(guān)系,就要用到系統(tǒng)中的互斥與同步機制,并涉及到線程的阻塞和喚醒操作,而這些機制往往會帶來一些必要的消耗,影響運行效率。

    協(xié)程,又稱作協(xié)同程序,是比線程還小的可執(zhí)行代碼序。在SylixOS中,一個線程可以擁有多個協(xié)程,這些協(xié)程共享了線程除了棧以外的所有資源,包括優(yōu)先級、內(nèi)核對象等。線程內(nèi)部的協(xié)程不可被搶占,只能輪轉(zhuǎn)運行。所以,利用這個特點可以構(gòu)建出一個基于協(xié)程的高效的生產(chǎn)者-消費者模型。

    1、何為生產(chǎn)者消費者模型

    經(jīng)典生產(chǎn)者-消費者模型描述如下:兩個線程共享一個消息隊列,其中一個線程,即生產(chǎn)者,向該消息隊列中放入信息;另外一個線程,即消費者,從該消息隊列中取走信息,這里就涉及到了多任務(wù)操作系統(tǒng)中的同步和互斥機制。

    在SylixOS中,同步即一個任務(wù)的執(zhí)行結(jié)果是另一個任務(wù)能夠執(zhí)行的前提條件,互斥即多任務(wù)同時使用到臨界資源時可能會引發(fā)的競爭。在生產(chǎn)者-消費者模型中,消費者任務(wù)需要等待生產(chǎn)任務(wù)產(chǎn)生數(shù)據(jù)后才能執(zhí)行,即同步;而生產(chǎn)任務(wù)和消費任務(wù)要串行地訪問消息隊列,即互斥。

    2、生產(chǎn)者消費者模型的兩種編程方法

    2.1 傳統(tǒng)消息隊列方式

    該方式中,生產(chǎn)者-消費者模型中的公共緩沖區(qū)即對應(yīng)著消息隊列。編程步驟如下:

    ① 創(chuàng)建生產(chǎn)者線程;

    ② 創(chuàng)建消費者線程;

    ③ 創(chuàng)建消息隊列,獲取操作句柄;

    ④ 生產(chǎn)者線程中循環(huán)調(diào)用消息發(fā)送函數(shù),向消息隊列中發(fā)送數(shù)據(jù);

    ⑤ 消費者線程中循環(huán)調(diào)用消息接收函數(shù),從消息隊列中獲取數(shù)據(jù),若消息隊列中無數(shù)據(jù),則會阻塞。

    2.2 高效率協(xié)程模式

    SylixOS中的協(xié)程需要依賴所屬線程被調(diào)度時執(zhí)行,所以需要先創(chuàng)建一個初始線程,再去調(diào)用相應(yīng)的函數(shù)創(chuàng)建生產(chǎn)者和消費者協(xié)程,需要注意的是,每一個線程創(chuàng)建時都會默認創(chuàng)建一個初始協(xié)程,并且線程總是從該初始協(xié)程開始運行,所以初始線程中需要主動放棄處理器,以保證生產(chǎn)者和消費者協(xié)程能運行。編程步驟如下:

    ① 創(chuàng)建初始線程;

    ② 創(chuàng)建生產(chǎn)者協(xié)程;

    ③ 創(chuàng)建消費者協(xié)程;

    ④ 初始線程放棄處理器調(diào)用;

    ⑤ 生產(chǎn)者協(xié)程向公共緩沖區(qū)填充消息后,主動放棄處理器;

    ⑥ 消費者協(xié)程從公共緩沖區(qū)獲取消息后,主動放棄處理器;

    ⑦ 初始線程恢復(fù)生產(chǎn)者和消費者協(xié)程,跳轉(zhuǎn)至步驟⑤。

    2.3 兩種編程模式的比較

    通過上述兩種模式的步驟比較,可以得出以下結(jié)論:

    ① 傳統(tǒng)消息隊列模式中,需要創(chuàng)建多線程并進行線程間的切換,同時生產(chǎn)者和消費者線程間的通信采用消息隊列的形式,其發(fā)送和接收函數(shù)內(nèi)部實現(xiàn)涉及到進入和退出內(nèi)核態(tài)的模式切換,以保證生產(chǎn)者和消費者線程中的同步和互斥機制,這里面會有較大的時間消耗;

    ② 高效協(xié)程模式中,只有一個初始線程,內(nèi)部的協(xié)程并不會被調(diào)度器調(diào)度,所以不會有線程切換的消耗。另外,初始線程內(nèi)部的協(xié)程是以輪轉(zhuǎn)的方式運行,由用戶程序自行管理,所以也就不會有線程間通信帶來的消耗。

    綜上,可以看出,協(xié)程模式比傳統(tǒng)消息隊列模式更高效。

    3、模型編程流程設(shè)計

    基于兩種方法設(shè)計應(yīng)用流程圖及其簡單說明

    3.1 消息隊列方法

    3.2 協(xié)程方法

    4、代碼設(shè)計

    4.1 消息隊列方法

    基于消息隊列的設(shè)計代碼中,生產(chǎn)者線程獲取當(dāng)前時間t1并填入消息隊列中,消費者線程從消息隊列中獲取消息后再次獲取當(dāng)前時間t2,將t1和t2的差值作為該方法帶來的時間消耗。示例代碼如下。

    #include

    #include

    #include

    #include

    #define MAX_MSG_COUNT? ?100

    #define MAX_MSG_BYTES? ?sizeof(struct timeval)

    LW_HANDLE? ?_G_hMsgQ = 0;

    static PVOID __threadConsume (PVOID? pvArg)

    {

    struct timeval? end;

    struct timeval? recv;

    INT? ? iError? = PX_ERROR;

    double t? ? ? ?= 0;

    size_t stLen? ?= 0;

    INT? ? iMsgCnt = 0;

    while (1) {

    lib_memset(&end, 0, sizeof(struct timeval));

    lib_memset(&recv, 0, sizeof(struct timeval));

    iError = Lw_MsgQueue_Receive(_G_hMsgQ,

    (PVOID)&recv,

    sizeof(struct timeval),

    &stLen,

    LW_OPTION_WAIT_INFINITE);

    if (ERROR_NONE != iError) {

    printf("msg recv error.\n");

    break;

    }

    lib_gettimeofday(&end, LW_NULL);

    t += end.tv_sec * 1e6 + end.tv_usec - (recv.tv_sec * 1e6 + recv.tv_usec);

    if (++iMsgCnt == 100) {

    printf("legancy msgQ: consumer get msg cost: %.02f us\n", t / iMsgCnt);

    iMsgCnt = 0;

    t? ? ? ?= 0;

    }

    }

    return? (LW_NULL);

    }

    static PVOID __threadProduct (PVOID? pvArg)

    {

    struct timeval? start;

    INT? ? ? ? ? ? ?iError;

    while (1) {

    lib_memset(&start, 0, sizeof(struct timeval));

    lib_gettimeofday(&start, LW_NULL);

    iError = Lw_MsgQueue_Send(_G_hMsgQ, (PVOID)&start, sizeof(struct timeval));

    if (ERROR_NONE != iError) {

    printf("msg send error.\n");

    break;

    }

    Lw_Time_Sleep(1);

    }

    return? (LW_NULL);

    }

    int main (int argc, char **argv)

    {

    LW_HANDLE? hProduct;

    LW_HANDLE? hConsume;

    _G_hMsgQ = Lw_MsgQueue_Create("msg_cp",

    MAX_MSG_COUNT,

    MAX_MSG_BYTES,

    LW_OPTION_WAIT_FIFO | LW_OPTION_OBJECT_LOCAL,

    LW_NULL);

    hProduct = Lw_Thread_Create("t_product", __threadProduct, LW_NULL, LW_NULL);

    if (LW_OBJECT_HANDLE_INVALID == hProduct) {

    printf("t_product create failed.\n");

    return? (-1);

    }

    hConsume = Lw_Thread_Create("t_consume", __threadConsume, LW_NULL, LW_NULL);

    if (LW_OBJECT_HANDLE_INVALID == hConsume) {

    printf("t_consume create failed.\n");

    return? (-1);

    }

    Lw_Thread_Join(hProduct, LW_NULL);

    Lw_Thread_Join(hConsume, LW_NULL);

    Lw_MsgQueue_Delete(&_G_hMsgQ);

    return? (0);

    }

    4.2 協(xié)程方法

    基于協(xié)程的設(shè)計代碼中,生產(chǎn)者協(xié)程將數(shù)據(jù)放入公共緩沖區(qū),并獲取當(dāng)前時間t1,然后放棄CPU,接著消費者協(xié)程中獲取時間t2,并從公共緩沖區(qū)獲取數(shù)據(jù),將t1和t2的差值作為生產(chǎn)者和消費者協(xié)程切換的時間消耗。示例代碼如下。

    #include

    #include

    static PVOID? pcCrcb0 = LW_NULL;

    static PVOID? pcCrcb1 = LW_NULL;

    static double t? ? ? ?= 0;

    static INT? ? iCnt? ? = 0;

    static struct timeval? start;

    static struct timeval? end;

    VOID? coroutine0 (PVOID? pvArg)

    {

    while (1) {

    lib_memset(&start, 0, sizeof(struct timeval));

    lib_gettimeofday(&start, LW_NULL);

    Lw_Coroutine_Yield();

    }

    }

    VOID? coroutine1 (PVOID? pvArg)

    {

    while (1) {

    lib_memset(&end, 0, sizeof(struct timeval));

    lib_gettimeofday(&end, LW_NULL);

    t += end.tv_sec * 1e6 + end.tv_usec - (start.tv_sec * 1e6 + start.tv_usec);

    if (++iCnt == 100) {

    printf("coroutine: consumer get msg cost: %.02f us\n", t / iCnt);

    iCnt = 0;

    t? ? = 0;

    }

    Lw_Coroutine_Yield();

    }

    }

    PVOID? tTest (PVOID? pvArg)

    {

    pcCrcb0 = Lw_Coroutine_Create(coroutine0, 2 * 1024, LW_NULL);

    if (pcCrcb0 == LW_NULL) {

    return? (LW_NULL);

    }

    pcCrcb1 = Lw_Coroutine_Create(coroutine1, 2 * 1024, LW_NULL);

    if (pcCrcb1 == LW_NULL) {

    return? (LW_NULL);

    }

    Lw_Coroutine_Yield();? ? ? ? ? ? ? ? ? ? /*? 使其他協(xié)程運行? ? ? ? ? ? ?*/

    while (1) {

    Lw_Coroutine_Resume(pcCrcb0);

    Lw_Time_Sleep(1);

    }

    return? ((PVOID)1);

    }

    int main (int argc, char *argv[])

    {

    LW_HANDLE? hId;

    hId = Lw_Thread_Create("t_test", tTest, LW_NULL, LW_NULL);

    if (hId == LW_HANDLE_INVALID) {

    return? (PX_ERROR);

    }

    Lw_Thread_Join(hId, LW_NULL);

    return? (ERROR_NONE);

    }

    5、測試驗證

    5.1 環(huán)境搭建

    硬件環(huán)境:

    ● CPU:Intel(R) Core(TM) i3-6100 CPU @ 3.70GHz

    ● 內(nèi)存:4GB

    ● 硬盤:500GB

    軟件環(huán)境

    ● SylixOS內(nèi)核版本:1.9.9-9

    ● SylixOS BSP版本:1.1.3

    5.2 測試輸出

    ① 傳統(tǒng)消息隊列模式

    ② 高效協(xié)程模式

    5.3 測試分析

    根據(jù)代碼運行結(jié)果,可以看出生產(chǎn)者-消費者模型中,采用協(xié)程模式比傳統(tǒng)消息隊列模式時間消耗要小得多。

    6、結(jié)語

    在嵌入式領(lǐng)域的資源受限,生產(chǎn)消費模型簡單情況下,使用高效協(xié)程編程可以有效降低傳統(tǒng)消息隊列模式下同步和互斥機制、線程調(diào)度等帶來的時間消耗,提高生產(chǎn)者和消費者的運行效率。SylixOS內(nèi)核原生支持協(xié)程,而不是使用第三方庫模擬,使得SylixOS內(nèi)部的協(xié)程管理更加便捷高效,這樣使用SylixOS協(xié)程構(gòu)建的生產(chǎn)者-消費者模型也就更加高效。

    參考文獻:

    [1] 陳莉君. Linux內(nèi)核編程[M]. 北京:機械工業(yè)出版社,2004

    [2] 劉俞. Linux多線程的互斥與同步控制及實踐. 電腦知識與技術(shù)[J]. 2005,(18)

    [3] 曹聰,范廉明. 操作系統(tǒng)原理與分析. 科學(xué)出版社[M]. 2003,09

    久久久a久久爽久久v久久| 久久国产精品男人的天堂亚洲| 涩涩av久久男人的天堂| 久久久久久人妻| 欧美亚洲日本最大视频资源| 日韩 亚洲 欧美在线| 中文乱码字字幕精品一区二区三区| 99久国产av精品国产电影| 亚洲精品日本国产第一区| 国产精品一二三区在线看| 飞空精品影院首页| 国产野战对白在线观看| 男女无遮挡免费网站观看| 人妻 亚洲 视频| 欧美黄色片欧美黄色片| 国产成人精品在线电影| 纵有疾风起免费观看全集完整版| 国产精品成人在线| 久久久精品国产亚洲av高清涩受| 国产成人免费观看mmmm| 国产精品 欧美亚洲| 在线观看美女被高潮喷水网站| 亚洲成人手机| 国产免费视频播放在线视频| 夜夜骑夜夜射夜夜干| 男人爽女人下面视频在线观看| 麻豆精品久久久久久蜜桃| 天天躁夜夜躁狠狠躁躁| 天天影视国产精品| 人妻一区二区av| 最近中文字幕2019免费版| 久久久亚洲精品成人影院| 哪个播放器可以免费观看大片| 亚洲av男天堂| 大片电影免费在线观看免费| 久久人人爽av亚洲精品天堂| 丝袜美足系列| 水蜜桃什么品种好| 飞空精品影院首页| 国产精品久久久av美女十八| 国产不卡av网站在线观看| 国产成人精品福利久久| 午夜福利在线观看免费完整高清在| 一级片免费观看大全| 国产熟女午夜一区二区三区| 少妇的丰满在线观看| 久久热在线av| 咕卡用的链子| 少妇熟女欧美另类| 久久精品国产鲁丝片午夜精品| 久久久精品免费免费高清| 女人久久www免费人成看片| 大话2 男鬼变身卡| 肉色欧美久久久久久久蜜桃| 麻豆av在线久日| 久久久国产一区二区| 亚洲精品日本国产第一区| 亚洲第一av免费看| 男女下面插进去视频免费观看| 国产一区亚洲一区在线观看| 最近2019中文字幕mv第一页| 人人妻人人爽人人添夜夜欢视频| 欧美人与性动交α欧美精品济南到 | 捣出白浆h1v1| 国产精品二区激情视频| 人体艺术视频欧美日本| av国产久精品久网站免费入址| 天堂8中文在线网| 国产精品一二三区在线看| 欧美老熟妇乱子伦牲交| 如日韩欧美国产精品一区二区三区| 国产精品 欧美亚洲| 97人妻天天添夜夜摸| 精品人妻在线不人妻| 美女大奶头黄色视频| 国产精品 欧美亚洲| 免费黄色在线免费观看| 国产精品二区激情视频| 国产一区二区在线观看av| 咕卡用的链子| 国产色婷婷99| 国产极品天堂在线| 卡戴珊不雅视频在线播放| 天天躁夜夜躁狠狠躁躁| 大陆偷拍与自拍| 精品一区二区免费观看| 国产精品熟女久久久久浪| 国产色婷婷99| 一区二区三区精品91| 国产综合精华液| 国产精品久久久久久精品古装| 亚洲国产日韩一区二区| av片东京热男人的天堂| 成年人午夜在线观看视频| 男女无遮挡免费网站观看| 久久免费观看电影| 国产视频首页在线观看| 亚洲国产成人一精品久久久| videosex国产| 国产成人精品婷婷| 精品国产超薄肉色丝袜足j| 十八禁网站网址无遮挡| 亚洲伊人久久精品综合| 亚洲一区中文字幕在线| 欧美人与善性xxx| 美女主播在线视频| 久久午夜福利片| 免费黄频网站在线观看国产| 麻豆av在线久日| 9色porny在线观看| 国产欧美日韩一区二区三区在线| 免费观看在线日韩| 久久午夜综合久久蜜桃| 黄色 视频免费看| 五月开心婷婷网| 亚洲伊人久久精品综合| 亚洲国产色片| 久久久久精品人妻al黑| 亚洲美女视频黄频| 久久国内精品自在自线图片| 国产成人午夜福利电影在线观看| 婷婷色综合大香蕉| 久久午夜福利片| 天天影视国产精品| 超色免费av| 国产日韩一区二区三区精品不卡| 国产精品久久久久久精品电影小说| 在线观看免费日韩欧美大片| 国产av精品麻豆| 国产av精品麻豆| av有码第一页| 电影成人av| 亚洲成国产人片在线观看| 欧美中文综合在线视频| 80岁老熟妇乱子伦牲交| 亚洲国产欧美在线一区| 亚洲精品久久午夜乱码| 欧美日韩精品网址| 精品一区二区三卡| 波野结衣二区三区在线| 大话2 男鬼变身卡| 亚洲精品,欧美精品| 久久人人爽av亚洲精品天堂| 热re99久久精品国产66热6| 老女人水多毛片| 国产白丝娇喘喷水9色精品| 最黄视频免费看| 国产精品免费大片| 精品卡一卡二卡四卡免费| 丝瓜视频免费看黄片| 美女脱内裤让男人舔精品视频| 少妇人妻 视频| 制服人妻中文乱码| 免费日韩欧美在线观看| 高清在线视频一区二区三区| 一本一本久久a久久精品综合妖精 国产伦在线观看视频一区 | 国产免费福利视频在线观看| 亚洲欧美成人综合另类久久久| 美女福利国产在线| 999久久久国产精品视频| 青春草视频在线免费观看| 国产女主播在线喷水免费视频网站| 国产精品人妻久久久影院| 久久久久久人人人人人| videos熟女内射| 国产欧美亚洲国产| 91国产中文字幕| 久久97久久精品| 丝瓜视频免费看黄片| 欧美日韩一区二区视频在线观看视频在线| 中文精品一卡2卡3卡4更新| 日本欧美国产在线视频| 日本欧美视频一区| 国产男女超爽视频在线观看| 纵有疾风起免费观看全集完整版| 丝袜人妻中文字幕| 免费在线观看黄色视频的| 欧美另类一区| 一本久久精品| 免费看av在线观看网站| 不卡视频在线观看欧美| av在线观看视频网站免费| 日日爽夜夜爽网站| 国产xxxxx性猛交| 久久99蜜桃精品久久| 精品卡一卡二卡四卡免费| 亚洲精品久久成人aⅴ小说| 街头女战士在线观看网站| 9191精品国产免费久久| 国产毛片在线视频| 又粗又硬又长又爽又黄的视频| 超碰97精品在线观看| 精品国产露脸久久av麻豆| 成人影院久久| 黑人巨大精品欧美一区二区蜜桃| 人成视频在线观看免费观看| 色播在线永久视频| 人妻 亚洲 视频| 视频区图区小说| 曰老女人黄片| 久久鲁丝午夜福利片| 各种免费的搞黄视频| 丰满饥渴人妻一区二区三| 老司机影院毛片| 亚洲精品国产色婷婷电影| 丝瓜视频免费看黄片| 日韩av在线免费看完整版不卡| 国产成人免费无遮挡视频| 精品一区二区三卡| 搡女人真爽免费视频火全软件| 黄色视频在线播放观看不卡| 中文字幕另类日韩欧美亚洲嫩草| 中文字幕av电影在线播放| 国产xxxxx性猛交| 美女主播在线视频| 国产片特级美女逼逼视频| 成年人免费黄色播放视频| 亚洲国产欧美在线一区| 欧美成人午夜免费资源| 婷婷色麻豆天堂久久| 99九九在线精品视频| 少妇的逼水好多| 亚洲伊人久久精品综合| 晚上一个人看的免费电影| 久久精品国产亚洲av高清一级| 久久99热这里只频精品6学生| 精品国产一区二区三区四区第35| 菩萨蛮人人尽说江南好唐韦庄| 最近的中文字幕免费完整| 90打野战视频偷拍视频| 天美传媒精品一区二区| 国产精品香港三级国产av潘金莲 | 边亲边吃奶的免费视频| 午夜福利影视在线免费观看| 性高湖久久久久久久久免费观看| √禁漫天堂资源中文www| 成年av动漫网址| 亚洲av国产av综合av卡| 少妇猛男粗大的猛烈进出视频| 日日啪夜夜爽| 亚洲精品中文字幕在线视频| 最近2019中文字幕mv第一页| 国产色婷婷99| 一级毛片黄色毛片免费观看视频| 成人国产麻豆网| 久久精品久久精品一区二区三区| 秋霞在线观看毛片| 国产探花极品一区二区| 久久久久精品久久久久真实原创| 国产精品久久久久久精品古装| 成人毛片60女人毛片免费| av在线播放精品| 午夜免费观看性视频| 精品一区二区三区四区五区乱码 | 日韩一卡2卡3卡4卡2021年| 久久人人爽人人片av| 免费观看在线日韩| 亚洲婷婷狠狠爱综合网| 国产成人一区二区在线| 国产精品免费大片| 国产色婷婷99| 日韩三级伦理在线观看| 国产深夜福利视频在线观看| 久久99精品国语久久久| 久久精品夜色国产| 波野结衣二区三区在线| 在线观看免费高清a一片| 熟女av电影| 亚洲av福利一区| 伊人久久大香线蕉亚洲五| 亚洲精品,欧美精品| 亚洲一区中文字幕在线| 成年美女黄网站色视频大全免费| 卡戴珊不雅视频在线播放| 久久亚洲国产成人精品v| 777米奇影视久久| 欧美成人午夜免费资源| 欧美日韩一级在线毛片| 飞空精品影院首页| 制服诱惑二区| 免费看av在线观看网站| 国产黄频视频在线观看| 麻豆精品久久久久久蜜桃| 午夜福利网站1000一区二区三区| 中文字幕精品免费在线观看视频| 国产精品av久久久久免费| 亚洲精品久久午夜乱码| 亚洲成av片中文字幕在线观看 | 精品亚洲成a人片在线观看| 亚洲天堂av无毛| 秋霞在线观看毛片| av网站免费在线观看视频| 一本大道久久a久久精品| 国产一区二区激情短视频 | 久久国产精品大桥未久av| 色视频在线一区二区三区| 80岁老熟妇乱子伦牲交| 欧美国产精品一级二级三级| 日韩精品免费视频一区二区三区| 自拍欧美九色日韩亚洲蝌蚪91| 久久精品国产亚洲av天美| 国产一区二区三区av在线| 97精品久久久久久久久久精品| 久久精品国产亚洲av高清一级| videossex国产| 国产欧美亚洲国产| 亚洲精品av麻豆狂野| 国产毛片在线视频| 黄片播放在线免费| 国产伦理片在线播放av一区| 制服人妻中文乱码| 欧美激情 高清一区二区三区| 午夜久久久在线观看| 一个人免费看片子| 一区二区av电影网| 久久人人97超碰香蕉20202| 免费人妻精品一区二区三区视频| 美国免费a级毛片| 亚洲经典国产精华液单| 男男h啪啪无遮挡| 亚洲久久久国产精品| 久久午夜综合久久蜜桃| 少妇的逼水好多| 一级片'在线观看视频| 免费黄频网站在线观看国产| 国产精品亚洲av一区麻豆 | 久久精品人人爽人人爽视色| 国产成人a∨麻豆精品| 久久鲁丝午夜福利片| 青青草视频在线视频观看| 亚洲精华国产精华液的使用体验| 国产男女内射视频| 日韩电影二区| 国产精品三级大全| 午夜免费男女啪啪视频观看| av一本久久久久| 国产淫语在线视频| 日本猛色少妇xxxxx猛交久久| 久久久a久久爽久久v久久| 国产一区二区在线观看av| 成年av动漫网址| av福利片在线| www.自偷自拍.com| 精品一区二区三区四区五区乱码 | 精品少妇内射三级| 国产免费现黄频在线看| 精品国产国语对白av| 成人免费观看视频高清| 色播在线永久视频| 精品国产露脸久久av麻豆| 午夜91福利影院| 成人亚洲精品一区在线观看| 王馨瑶露胸无遮挡在线观看| 国产av码专区亚洲av| 国产精品久久久久久av不卡| 久久久久久久久久人人人人人人| 国产在视频线精品| 国产成人精品久久久久久| 婷婷色综合www| 一级毛片黄色毛片免费观看视频| 亚洲av免费高清在线观看| 你懂的网址亚洲精品在线观看| 午夜老司机福利剧场| 99国产综合亚洲精品| 欧美日韩国产mv在线观看视频| 久久国产精品大桥未久av| 亚洲国产欧美网| 精品酒店卫生间| 中文字幕av电影在线播放| 欧美激情极品国产一区二区三区| 精品少妇内射三级| 在线天堂最新版资源| 99九九在线精品视频| 成人亚洲欧美一区二区av| 精品少妇内射三级| 香蕉丝袜av| 超碰成人久久| 精品人妻偷拍中文字幕| 国产精品一二三区在线看| av在线观看视频网站免费| 天堂俺去俺来也www色官网| 在线观看免费日韩欧美大片| 欧美成人精品欧美一级黄| 欧美bdsm另类| 亚洲av在线观看美女高潮| 色婷婷av一区二区三区视频| 日本91视频免费播放| 日韩大片免费观看网站| 精品视频人人做人人爽| 男女高潮啪啪啪动态图| 人人妻人人爽人人添夜夜欢视频| 一区二区三区四区激情视频| 午夜福利在线免费观看网站| 中文字幕精品免费在线观看视频| 亚洲av欧美aⅴ国产| 国产精品免费视频内射| 黄片无遮挡物在线观看| 久久久久久人人人人人| 亚洲av.av天堂| 欧美精品高潮呻吟av久久| 成年女人毛片免费观看观看9 | 老司机亚洲免费影院| 大话2 男鬼变身卡| 侵犯人妻中文字幕一二三四区| 亚洲精品自拍成人| 国产无遮挡羞羞视频在线观看| 男人操女人黄网站| 伊人久久大香线蕉亚洲五| 性少妇av在线| 日本欧美视频一区| 国产视频首页在线观看| 高清视频免费观看一区二区| 91精品国产国语对白视频| 久久久久久久久久久免费av| 婷婷色综合www| 国产成人精品无人区| 亚洲欧美精品综合一区二区三区 | 亚洲欧美中文字幕日韩二区| 超色免费av| 久热久热在线精品观看| 国产成人91sexporn| 国产精品久久久av美女十八| 伦理电影免费视频| 十八禁网站网址无遮挡| 99九九在线精品视频| 免费观看在线日韩| 97精品久久久久久久久久精品| 国产黄频视频在线观看| 自线自在国产av| 成人国语在线视频| 久久这里有精品视频免费| 久久午夜综合久久蜜桃| 五月开心婷婷网| 咕卡用的链子| 久久久久久久久久久久大奶| 国产亚洲一区二区精品| 免费播放大片免费观看视频在线观看| 亚洲国产毛片av蜜桃av| 伦理电影免费视频| 九草在线视频观看| av电影中文网址| 成人毛片60女人毛片免费| 久久人人爽人人片av| 国产熟女午夜一区二区三区| 国产野战对白在线观看| 久久久精品94久久精品| 亚洲精品美女久久av网站| 97在线人人人人妻| 香蕉国产在线看| 男人舔女人的私密视频| 777米奇影视久久| 亚洲人成网站在线观看播放| 亚洲色图综合在线观看| 狠狠婷婷综合久久久久久88av| 亚洲国产精品成人久久小说| 亚洲美女黄色视频免费看| 999久久久国产精品视频| 成人国语在线视频| 久久久欧美国产精品| 我的亚洲天堂| 精品国产一区二区三区久久久樱花| 中文乱码字字幕精品一区二区三区| 18在线观看网站| 欧美日韩亚洲高清精品| 中文字幕色久视频| 久久亚洲国产成人精品v| 久久国产亚洲av麻豆专区| 肉色欧美久久久久久久蜜桃| 少妇熟女欧美另类| 精品国产一区二区久久| 精品一区二区三卡| 青青草视频在线视频观看| 久久女婷五月综合色啪小说| 欧美日韩av久久| 午夜av观看不卡| 国产在线一区二区三区精| av网站在线播放免费| 午夜福利,免费看| 丝袜美足系列| 国产精品 国内视频| 国产成人欧美| 国产精品亚洲av一区麻豆 | 国产精品国产三级专区第一集| 中文字幕制服av| 少妇的丰满在线观看| 1024香蕉在线观看| 久久午夜福利片| 伊人亚洲综合成人网| 亚洲精品中文字幕在线视频| 国产精品香港三级国产av潘金莲 | 日韩av免费高清视频| 人人妻人人爽人人添夜夜欢视频| 精品久久久精品久久久| 麻豆av在线久日| 精品99又大又爽又粗少妇毛片| 大码成人一级视频| 亚洲久久久国产精品| 日韩欧美精品免费久久| 日韩av在线免费看完整版不卡| 亚洲国产成人一精品久久久| 啦啦啦在线观看免费高清www| 国产毛片在线视频| 国产在视频线精品| 大香蕉久久成人网| av在线app专区| 伦理电影免费视频| 欧美最新免费一区二区三区| 久久精品夜色国产| 久久这里只有精品19| 久久精品aⅴ一区二区三区四区 | 尾随美女入室| 午夜91福利影院| 亚洲av中文av极速乱| 伊人久久大香线蕉亚洲五| 熟女少妇亚洲综合色aaa.| 日本黄色日本黄色录像| www日本在线高清视频| 在线观看免费日韩欧美大片| 在线观看人妻少妇| 美女xxoo啪啪120秒动态图| 亚洲av电影在线进入| 最近的中文字幕免费完整| 亚洲欧洲国产日韩| 一区二区日韩欧美中文字幕| 国产成人a∨麻豆精品| 美女大奶头黄色视频| 精品99又大又爽又粗少妇毛片| 一级片'在线观看视频| 亚洲精品美女久久av网站| 老司机亚洲免费影院| 亚洲天堂av无毛| 国产免费又黄又爽又色| 亚洲 欧美一区二区三区| 高清黄色对白视频在线免费看| 国产成人欧美| 2018国产大陆天天弄谢| 久久久久国产网址| 丝袜脚勾引网站| 国产国语露脸激情在线看| 午夜福利乱码中文字幕| 大片免费播放器 马上看| 亚洲精品视频女| 亚洲少妇的诱惑av| 亚洲av电影在线观看一区二区三区| 久久女婷五月综合色啪小说| 韩国av在线不卡| 国产97色在线日韩免费| 亚洲久久久国产精品| 欧美国产精品va在线观看不卡| 中文欧美无线码| 亚洲第一av免费看| 高清不卡的av网站| a级毛片在线看网站| 熟妇人妻不卡中文字幕| 91久久精品国产一区二区三区| 黑丝袜美女国产一区| 青春草国产在线视频| 免费不卡的大黄色大毛片视频在线观看| 伦精品一区二区三区| 国产精品熟女久久久久浪| 婷婷色综合大香蕉| 日韩一区二区视频免费看| 嫩草影院入口| 免费人妻精品一区二区三区视频| 国产一区有黄有色的免费视频| xxxhd国产人妻xxx| 日本-黄色视频高清免费观看| 国产一级毛片在线| 国产精品免费大片| 波野结衣二区三区在线| 一区二区三区激情视频| 777米奇影视久久| 亚洲中文av在线| 少妇熟女欧美另类| 少妇的丰满在线观看| 免费大片黄手机在线观看| 亚洲欧美精品综合一区二区三区 | 国产精品蜜桃在线观看| 欧美日韩亚洲国产一区二区在线观看 | 久久久久人妻精品一区果冻| 欧美日韩一区二区视频在线观看视频在线| 丝袜在线中文字幕| 国产亚洲午夜精品一区二区久久| 免费高清在线观看日韩| 妹子高潮喷水视频| 国产精品免费大片| 大陆偷拍与自拍| 国产精品久久久久久精品古装| 熟女少妇亚洲综合色aaa.| 午夜福利在线免费观看网站| 激情视频va一区二区三区| 亚洲av福利一区| 成人亚洲精品一区在线观看| 久久久精品区二区三区| 亚洲综合色网址| 欧美日本中文国产一区发布| 一二三四在线观看免费中文在| 一级毛片 在线播放| 久久精品国产亚洲av涩爱| 九色亚洲精品在线播放| 日韩大片免费观看网站| 黄色配什么色好看| 免费黄色在线免费观看| 日韩中文字幕视频在线看片| 成人免费观看视频高清| 性色av一级| 国产精品三级大全| 香蕉丝袜av| 狠狠精品人妻久久久久久综合| 精品一区在线观看国产| 日本-黄色视频高清免费观看| 免费黄网站久久成人精品| 黑人欧美特级aaaaaa片| 午夜福利网站1000一区二区三区| 久久精品国产鲁丝片午夜精品|