日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

多线程和MsgWaitForMultipleObjects

發布時間:2025/3/12 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 多线程和MsgWaitForMultipleObjects 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在主線程中慎用WaitForSingleObject?(WaitForMultipleObjects)

下面的代碼我調試了將近一個星期,你能夠看出什么地方出了問題嗎?
線程函數:

DWORD?WINAPI?ThreadProc(

????while(!bTerminate)

????{

????????//?從一個鏈表中讀取信息并且插入到CListCtrl

????????//?CListCtrl的句柄是通過線程參數傳遞進來的

????????for(;;)

???????{

???????????ReadInfoFromList();

???????????InsertToCListCtrl();

????????}

????}

}

主線程中使用CreateThread啟動線程。

?

當想終止子線程時,在主線程中:

bTerminate?=?TRUE;

WaitForSingleObject(threadHandle,?INFINITE);

可是,以運行到WaitForSingleObject,子線程就Crash了。

?

為什么呢?

?

問題原因:

后來我終于在InsertItem的反匯編中發現了如下的代碼

call?dword?ptr?[__imp__SendMessageA@16?(7C141B54h)]

可見,InsertItem是必須借助消息循環來完成任務的。如果我們在主線程中WaitForSingleObject了,必然導致主線程阻塞,也就導致了消息循環的阻塞,最終導致工作線程Crash掉了*_*

?

解決方案:

為了解決在主線程中Wait的問題,微軟專門設計了一個函數MsgWaitForMultipleObjects,這個函數即可以等待信號(thread,event,mutex等等),也可以等待消息(MSG)。即不論有信號被激發或者有消息到來,此函數都可以返回。呵呵,那么我的解決辦法也就出來了。

將上面的WaitForSingleObject用下面的代碼替換:

?

while(TRUE)

{

?

????DWORD?result?;?

????MSG?msg?;?

?

????result?=?MsgWaitForMultipleObjects(1,?&readThreadHandle,?

????????FALSE,?INFINITE,?QS_ALLINPUT);?

?

????if?(result?==?(WAIT_OBJECT_0))

????{

????????break;

????}?

????else?

????{?

????????PeekMessage(&msg,?NULL,?0,?0,?PM_REMOVE);

????????DispatchMessage(&msg);?

????}?

}

?

總結:

如果在工作線程中有可能涉及到了消息驅動的API,那么不能在主線程中使用WaitForSingleObject一類函數,而必須使用上述的方案

?

線程函數的設計以及MsgWaitForMultipleObjects函數的使用要點

使用多線程技術可以顯著地提高程序性能,本文就講講在程序中如何使用工作線程,以及工作線程與主線程通訊的問題。

一?創建線程

???????使用MFC提供的全局函數AfxBeginThread()即可創建一個工作線程。線程函數的標準形式為?UINT?MyFunProc(LPVOID?);此函數既可以是全局函數,也可以是類的靜態成員函數。之所以必須是靜態成員函數,是由于類的非靜態成員函數,編譯器在編譯時會自動加上一個this指針參數,如果將函數設置為靜態的成員函數,則可以消除this指針參數。如果想在線程函數中任意調用類的成員變量(此處指的是數據成員,而不是控件關聯的成員變量),則可以將類的指針作為參數傳遞給線程函數,然后經由該指針,就可以調用類的成員變量了。

?

//線程函數,類的靜態成員函數

UINT?CThreadTest::TH_SetProgress(LPVOID?lpVoid)

{

???????CThreadTest?*pTest=(CThreadTest?*)lpVoid;

???????pTest->SetProgress();

???????return?0;

}

?

//類的成員函數,此函數執行實際的線程函數操作,卻可以自如的調用成員數據

void?CThreadTest::SetProgress()

{

int?nCount=0;

???????while?(1)

???????{

??????????????m_progress.SetPos(nCount);?//設置進度條進度

//????????????this->SendMessage(WM_SETPROGRESSPOS,nCount,0);//也可以采用這種方式設置

??????????????nCount++;

??????????????if?(g_exitThread)

??????????????{

?????????????????????return;

??????????????}

??????????????Sleep(200);

???????}

}

?

二?線程函數體的設計

有過多線程設計經驗的人都有體會,多線程設計最重要的就是要處理好線程間的同步和通訊問題。如解決不好這個問題,會給程序帶來潛藏的隱患。線程的同步可以利用臨界區、事件、互斥體和信號量來實現,線程間的通訊可利用全局變量和發消息的形式實現。其中事件和臨界區是使用得比較多的工具。請看下面的線程函數體:

UINT?AnalyseProc(LPVOID???lVOID)

{

???????if(WAIT_OBJECT_0==?WaitForSingleObject(m_eventStartAnalyse.m_hThread,INFINITE))

???????{

??????????????while?(WAIT_OBJECT_0?==?WaitForSingleObject(m_eventExitAnalyse.m_hThread,0))

??????????????{

?????????????????????DWORD?dRet=WaitForSingleObject(m_eventPause.m_hThread,0);

?????????????????????if?(dRet?==?WAIT_OBJECT_0)

?????????????????????{

????????????????????????????//暫停分析

????????????????????????????Sleep(10);

?????????????????????}

?????????????????????else?if?(dRet?==?WAIT_TIMEOUT)

?????????????????????{

????????????????????????????//繼續分析

????????????????????????????//

?????????????????????}

??????????????}

???????}

???????return?0;

}

上面的線程函數用到了三個事件變量eventStartAnalyseeventExitAnalyseeventPause,分別用來控制線程函數的啟動、退出以及暫停。再配以WaitForSingleObject函數,就可以自如的控制線程函數的執行,這是在線程函數體內應用事件變量的典型方式,也是推薦的方式

?

無論是工作線程還是用戶界面線程,都有消息隊列,都可以接收別的線程發過來的消息也可以給別的線程發送消息。給工作線程發消息使用的函數是PostThreadMessage()此函數的第一個參數是接收消息的線程的ID。此函數是異步執行的,機制和PostMessage一樣,就是把消息拋出后就立即返回,不理會消息是否被處理完了。

?

這里還有著重強調一點,線程消息隊列是操作系統幫我們維護的一種資源,所以它的容量也是有限制的。筆者曾經做過實驗,在5~6秒事件內調用PostThreadMessage往線程消息隊列里發送5萬多條消息,可是由于線程函數處理消息的速度遠慢于發送速度,結果導致線程消息隊列里已經堆滿了消息,而發送端還在發消息,最終導致消息隊列溢出,很多消息都丟失了。所以,如果你要在短時間內往線程消息隊列里發送很多條消息,那就要判斷一下PostThreadMessage函數的返回值。當消息隊列已經溢出時,此函數返回一個錯誤值。根據返回值,你就可以控制是否繼續發送。

?

工作線程給主線程發消息使用的是SendMessagePoseMessage函數。這兩個函數的區別在于SendMessage函數是阻塞方式,而PoseMessage函數是非阻塞方式。如果不是嚴格要求工作線程與主線程必須同步執行,則推薦使用PoseMessage。不要在線程函數體內操作MFC控件,因為每個線程都有自己的線程模塊狀態映射表,在一個線程中操作另一個線程中創建的MFC對象,會帶來意想不到的問題。更不要在線程函數里,直接調用UpdataData()函數更新用戶界面,這會導致程序直接crash。而應該通過發送消息給主線程的方式,在主線程的消息響應函數里操作控件。上面提到的SetProgress函數和AnalyseProc函數均為線程函數,但它們都不能接收別的線程發過來的消息,雖然它們都可以給主線程發消息。它們要想能夠接收別的線程發過來的消息,則必須調用GetMessagePeekMessage函數。這兩個函數的主要區別在于:

?

GetMessage函數可以從消息隊列中抓取消息,當抓取到消息后,GetMessage函數會將此條消息從消息隊列中刪除。而且,如果消息隊列中沒有消息,則GetMessage函數不會返回,CPU轉而回去執行別的線程,釋放控制權。GetMessage返回的條件是抓取的消息是WM_QUIT

?

PeekMessage函數也可以從消息隊列中抓取消息,如果它的最后一個參數設置為PM_NOREMOVE,則不從消息隊列中刪除此條消息,此條消息會一直保留在消息隊列中。如果它的最后一個參數是PM_REMOVE,則會刪除此條消息。如果消息隊列中沒有消息,則PeekMessage函數會立刻返回,而不是像GetMessage一樣就那樣等在那兒。PeekMessage函數就像是窺探一下消息隊列,看看有沒有消息,有的話就處理,沒有就離開了。這一點也是兩個函數的最大不同。下面的代碼演示了在線程函數中使用這兩個函數的三種方式,這三種方法可以達到同樣的效果:

?

void?CThreadTest::SetSlider()

{

//?在線程函數里啟動一個時鐘,每50毫秒發送一個WM_TIMER消息

???????int?nTimerID=::SetTimer(NULL,1,50,NULL);

???????int?nSliderPos=0;

???????MSG?msg;

???????while?(1)

???????{

//方式一????使用GetMessage函數??

/*???????????if?(::GetMessage(&msg,NULL,0,0))

??????????????{

?????????????????????switch(msg.message)

?????????????????????{

?????????????????????case?WM_TIMER:

????????????????????????????{

???????????????????????????????????nSliderPos++;

?????????????????????????::SendMessage(this->m_hWnd,WM_SETSLIDERPOS,nSliderPos,0);

????????????????????????????}?????????????????????????

????????????????????????????break;

?

?????????????????????case?WM_QUIT_THREAD:?//自定義消息

????????????????????????????{

???????????????????????????????????::KillTimer(NULL,1);

???????????????????????????????????return;

????????????????????????????}??????????????????

?????????????????????????break;

?????????????????????default:

?????????????????????????break;

?????????????????????}

??????????????}????

?*/

?

//方式二???使用PeekMessage函數??

/*???????????if?(::PeekMessage(&msg,NULL,0,0,PM_REMOVE))

??????????????{

?????????????????????switch(msg.message)

?????????????????????{

?????????????????????case?WM_TIMER:

????????????????????????????{

???????????????????????????????????nSliderPos++;

???????????????????????????????????::SendMessage(this->m_hWnd,WM_SETSLIDERPOS,nSliderPos,0);

????????????????????????????}?????????????????????????

????????????????????????????break;

?????????????????????case?WM_QUIT_THREAD:?//自定義消息

????????????????????????????{

???????????????????????????????????::KillTimer(NULL,1);

???????????????????????????????????return;

????????????????????????????}??????????????????

?????????????????????????break;

?????????????????????default:

?????????????????????????break;

?????????????????????}

??????????????}

??????????????else

??????????????{

???????????????????????//必須有此操作,要不然當沒有消息到來時,線程函數相當于陷入空循環,cpu的占有率會飆升

?????????????????????Sleep(20);

??????????????}

?

*/

?

//方式三???同時使用PeekMessageGetMessage函數??

??????????????if?(::PeekMessage(&msg,NULL,0,0,PM_NOREMOVE))

??????????????{

?????????????????????if(::GetMessage(&msg,NULL,0,0))

?????????????????????{

????????????????????????????switch(msg.message)

????????????????????????????{

??????????????????????????case?WM_TIMER:

???????????????????????????????????{

??????????????????????????????????????????nSliderPos++;?

::SendMessage(this->m_hWnd,WM_SETSLIDERPOS,nSliderPos,0);

???????????????????????????????????}?????????????????????????

??????????????????????????????????break;

????????????????????????????case?WM_QUIT_THREAD:?//自定義消息

???????????????????????????????????{

??????????????????????????????????????????::KillTimer(NULL,1);

??????????????????????????????????????????return;

???????????????????????????????????}??????????????????

???????????????????????????????????break;

????????????????????????????default:

???????????????????????????????????break;

????????????????????????????}

?????????????????????}

??????????????}

??????????????else

??????????????{

?????????????????????Sleep(20);

??????????????}

???????}

?

}

?

前面已經介紹過了,不建議線程函數里用SendMessage給主線程發消息,因為這個函數是同步操作,就是如果SendMessage函數不執行完,是不會返回的,這樣線程函數就無法繼續執行。有時這種操作容易導致工作線程和主線程死鎖,這個我們后面會談到,會介紹一種解決方法。

?

三?線程的退出

線程的退出有多種方式,比如可以調用TerminateThread()函數強制線程退出,但不推薦這種方式,因為這樣做會導致線程中的資源來不及釋放。最好的也是推薦的方式,是讓線程函數自己退出。就像上面介紹的SetProgress()函數中,用全局變量g_exitThread使線程退出。

?

AnalyseProcWAIT_OBJECT_0?==WaitForSingleObject(m_eventExitAnalyse.m_hThread,0)這種方式來退出線程,還有在SetSlider函數中利用發送自定義消息WM_QUIT_THREAD的方式令線程退出。這些都是可以使用的方法。

?

???????當主線程要退出時,為了能保證線程的資源能全部地釋放,主線程必須等待工作線程退出。線程對象和進程對象一樣,也是內核對象,而且線程對象的特點是當線程退出時,線程內核對象會自動變為有信號狀態,能夠喚醒所有正在等待它的線程。我們通常都習慣于使用WaitForSingleObject等函數來等待某個內核對象變為有信號狀態,但是我想說的是,在主線程中不要使用WaitForSingleObjectWaitForMultipleObjects兩個函數等待線程退出,其原因就是有導致程序死鎖的隱患,特別是線程函數里調用了SendMessage或是直接操作了MFC對象,更易出現此種現象。下面的函數是一個在主線程中用來等待SetProgress()線程函數退出的函數:

?

//退出線程

void?CThreadTest::OnButton2()

{

???????g_exitThread=TRUE;?//設置全局變量為真,令線程退出

#if?1

???????WaitForSingleObject(m_pThread1->m_hThread,INFINITE);?//無限等待

#else

???????DWORD?dRet;

???????MSG?msg;

???????while?(1)

???????{

??????????????dRet=::MsgWaitForMultipleObjects(1,&m_pThread1->m_hThread,FALSE,INFINITE,QS_ALLINPUT);

??????????????if?(dRet?==?WAIT_OBJECT_0+1)

??????????????{

?????????????????????while?(PeekMessage(&msg,NULL,0,0,PM_REMOVE))

?????????????????????{

????????????????????????????TranslateMessage(&msg);

????????????????????????????DispatchMessage(&msg);

?????????????????????}

??????????????}

??????????????else

??????????????{

?????????????????????break;

??????????????}

???????}?????

#endif????

}

?

在上面的函數中我用#if?#else?#endif這組預編譯指令控制函數的執行代碼,如果我令#if?1,則執行WaitForSingleObject函數,如果我令#if?0,則執行DWORD?dRet路徑。首先令#if??1,測試會發現,程序死鎖了。原因是當程序執行到WaitForSingleObject函數時,主線程掛起,等待線程函數退出,此時CPU切換到線程函數體內執行,如果執行到if?(g_exitThread)處,則線程函數順利退出,可如果執行到m_progress.SetPos(nCount)處,由于SetPos函數是在主線程中完成的操作,Windows是基于消息的操作系統,很多操作都是靠發消息完成的,由于主線程已經掛起,所以沒有機會去消息隊列中抓取消息并處理它,結果導致SetPos函數不會返回,工作線程也被掛起,典型的死鎖。如果不用m_progress.SetPos,而改用this->SendMessage(),其結果是一樣的。此時如果用了PostMessage,則工作線程會順利退出,因為PostMessage是異步執行的。由此可見,在主線程中用WaitForSingleObject等待工作線程退出是有很大隱患的。

?

???????為解決這一問題,微軟特提供了一個MsgWaitForMultipleObjects函數,該函數的特點是它不但可以等待內核對象,還可以等消息。也就是當有消息到來時,該函數也一樣可以返回,并處理消息,這樣就給了工作線程退出的機會。

?

DWORD?MsgWaitForMultipleObjects(

DWORD?nCount,?//要等待的內核對象數目

LPHANDLE?pHandles,?//要等待的內核對象句柄數組指針

BOOL?fWaitAll,?//是等待全部對象還是單個對象

DWORD?dwMilliseconds,//等待時間?

DWORD?dwWakeMask?);//等待的消息類型

?

下面就詳解一下該函數的參數使用方法:

DWORD?nCount:要等待的內核對象的數目。如果等待兩個線程退出,則nCount=2

LPHANDLE?pHandles:要等待的內核對象句柄數組指針。

?

如果只要等待一個線程退出,則直接設置該線程句柄的指針即可:

MsgWaitForMultipleObjects(1,&m_pThread->m_hThread,…)

?

如果要等待兩個線程退出,則使用方法為:

HANDLE?hArray[2]={?m_pThread1->m_hThread?,?m_pThread2->m_hThread?}

MsgWaitForMultipleObjects(2,hArray,…)

?

BOOL?fWaitAll:?TRUE-表示只有要等待的線程全部退出后,此函數才返回,

???????????????FALSE-表示要等待的線程中任意一個退出了,或是有消息到達了,此函數均會返回。

在上面的OnButton2()函數中,我要等待一個線程退出,將fWaitAll設置為

FALSE,目的是無論是線程真的退出了,還是有消息到達了,該函數都能返回。

如果將該fWaitAll設置為TRUE,那么函數返回的唯一條件是線程退出了,即便

是有消息到來了,該函數也一樣不會返回。

?

DWORD?dwMilliseconds:等待的事件,單位是毫秒。可以設置為INFINITE,無

窮等待

?

DWORD?dwWakeMask:等待的消息類型,通常可以設置為QS_ALLINPUT。此宏表示的是可以等待任意類型的消息。當然,也可以指定等待的消息類型。

?

#define?QS_ALLINPUT????????(QS_INPUT?????????|?\

????????????????????????????QS_POSTMESSAGE???|?\

????????????????????????????QS_TIMER?????????|?\

????????????????????????????QS_PAINT?????????|?\

????????????????????????????QS_HOTKEY????????|?\

????????????????????????????QS_SENDMESSAGE)

?

返回值:DWORD?dRet?通過函數返回值,可以得到一些有效信息。函數返回值依fWaitAll設置的不同而有所不同。下面是函數返回值的幾種常見類型:

?

dRet?=?0xFFFFFFFF?:???表示函數調用失敗,可用GetLastError()得到具體的出錯信息;

?

dRet?=WAIT_OBJECT_0+nCount:表示有消息到達了;

?

?

?

如果fWaitAll設置為TRUE

?

dRet?=?WAIT_OBJECT_0,表示所有等待的核心對象都激發了,或是線程都退出了;

?

如果fWaitAll設置為FALSE

?

dRet?=?WAIT_OBJECT_0?~?WAIT_OBJECT_0+nCount-1:表示等待的內核對象被激發了,index=dRet?-?WAIT_OBJECT_0,表示hArray[]數組中索引為index的那個對象被激發了。

?

?

?

當函數由于消息到來而返回,則需要用戶主動去消息隊列中將消息抓取出來,然后派發出去,這樣該消息就會被處理了。其具體的操作就是:

?

while?(PeekMessage(&msg,NULL,0,0,PM_REMOVE))

?

{

?

???????TranslateMessage(&msg);

?

???????DispatchMessage(&msg);

?

}

?

?

?

下面再看一個用這個函數等待兩個線程退出的例子:

?

//關閉線程12

?

void?CThreadTest::OnButton6()

?

{

?

???????…

?

???????…

?

???????DWORD?dRet=-2;

?

???????HANDLE?hArray[2];?

?

??????

?

???????hArray[0]=m_pThread1->m_hThread;

?

???????hArray[1]=m_pThread2->m_hThread;

?

?

?

???????MSG?msg;

?

?

?

???????int?nExitThreadCount=0;???????//標記已經有幾個線程退出了

?

???????BOOL?bWaitAll=FALSE;

?

???????int?nWaitCount=2;????//初始等待的線程數目

?

?

?

???????while?(1)

?

???????{

?

??????????????dRet=MsgWaitForMultipleObjects(nWaitCount,hArray,bWaitAll,INFINITE,QS_ALLINPUT);

?

??????????????if?(dRet?==?WAIT_OBJECT_0+?nWaitCount)

?

??????????????{

?

?????????????????????TRACE("收到消息,函數返回值為%d?\n",dRet);

?

?????????????????????while?(PeekMessage(&msg,NULL,0,0,PM_REMOVE))

?

?????????????????????{

?

????????????????????????????TranslateMessage(&msg);

?

????????????????????????????DispatchMessage(&msg);

?

?????????????????????}

?

????????????????????

?

??????????????}

?

??????????????else?if?(dRet?>=?WAIT_OBJECT_0?&&?dRet?<?WAIT_OBJECT_0+?nWaitCount)

?

??????????????{

?

?????????????????????nExitThreadCount++;

?

?????????????????????if?(nExitThreadCount?==?1)

?

?????????????????????{

?

????????????????????????????TRACE("一個線程退出了\n");

?

????????????????????????????int?nIndex=dRet-WAIT_OBJECT_0;

?

????????????????????????????hArray[nIndex]=hArray[nWaitCount-1];

?

????????????????????????????hArray[nWaitCount-1]=NULL;

?

????????????????????????????nWaitCount--;

?

?

?

?????????????????????}

?

?????????????????????else

?

?????????????????????{

?

????????????????????????????TRACE("兩個線程都退出了\n");

?

????????????????????????????break;

?

?????????????????????}

?

??????????????}

?

??????????????else

?

??????????????{

?

?????????????????????DWORD?dErrCode=GetLastError();

?

?????????????????????…

?

?????????????????????break;

?

??????????????}

?

???????}

?

??????

?

}

?

?

?

在上面這個例子中,我將bWaitAll設置為FALSE,目的是當我要等待的兩個線程中由一個退出了,或是有消息到來了,此函數都可以退出。如果我將此參數設置為TRUE,那么,當且僅當我要等待的兩個線程均退出了,這個函數才會返回,這種使用方法有是程序陷入死鎖的危險,故應避免。無論是等待一個還是多個線程,只需將此參數設置為FALSE即可,然后通過函數返回值判斷究竟是那個返回了,還是消息到達了即可。這一要點前面已有陳述,此處再強調一遍。

?

通過函數返回值可以得知究竟哪個線程退出了,當要等待的兩個線程中的一個已經退出后,則應該從新設置等待函數的參數,對等待的句柄數組進行整理。

?

{

?

int?nIndex=dRet-WAIT_OBJECT_0;

?

hArray[nIndex]=hArray[nWaitCount-1];

?

hArray[nWaitCount-1]=NULL;

?

nWaitCount--;

?

}

這組語句就是用來從新設置參數的,其過程就是將等待的總數目減一,并將剛退出的線程的句柄設置為NULL,移到數組的最末位置。

?

上面介紹了線程函數的設計以及在主線程中等待工作線程退出的方法,著重介紹了MsgWaitForMultipleObjects函數的使用要點,希望對大家有所幫助,也希望大家能提寶貴意見,補我之不足,愿與大家共同進步。\

?

?

總結

以上是生活随笔為你收集整理的多线程和MsgWaitForMultipleObjects的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

91桃色免费视频 | 97精品超碰一区二区三区 | 又大又硬又黄又爽视频在线观看 | 天干啦夜天干天干在线线 | 97av超碰| 亚洲精品一区二区久 | 国产美女免费观看 | 色噜噜噜噜 | 在线观看av大片 | 一区二区观看 | 日韩在线电影一区 | 婷婷在线色 | 久久久久久黄色 | 色黄久久久久久 | 国产欧美最新羞羞视频在线观看 | 在线 欧美 日韩 | 国产视频一区在线 | 精品久久久久久亚洲综合网 | 国产91aaa| 黄色大全在线观看 | 99久久er热在这里只有精品15 | 99re久久资源最新地址 | 日本黄色免费观看 | 四虎国产精品永久在线国在线 | 久草视频精品 | 欧美午夜视频在线 | 日操操 | 一级免费观看 | 日韩欧美精品在线 | 久久国产一区二区三区 | 中文字幕日韩av | 精品国产一区二 | 免费又黄又爽视频 | 亚洲欧美日韩一区二区三区在线观看 | 午夜一级免费电影 | 一区二区三区免费在线观看视频 | 最近2019中文免费高清视频观看www99 | 激情综合网五月婷婷 | 欧美极品裸体 | 麻豆94tv免费版 | 国产一级电影 | 91在线观看视频 | 九九精品无码 | 特黄一级毛片 | 日本久久免费电影 | 手机成人av在线 | 成人av在线播放网站 | 精品视频久久久久久 | 狠狠激情中文字幕 | 亚洲一级在线观看 | 天天干天天干天天干天天干天天干天天干 | 最近更新好看的中文字幕 | 日本久久久精品视频 | 国内亚洲精品 | av在线日韩 | 一区二区精品在线 | 五月色丁香 | wwwww.国产| 欧美日韩另类在线观看 | 97色免费视频 | www在线免费观看 | 日韩中文字幕国产精品 | 久久a v视频 | 五月婷婷操 | 精品国产一区二区三区久久久蜜臀 | 日日干干| 亚洲人在线 | www.com黄色 | 九九视频网站 | 免费欧美高清视频 | 午夜.dj高清免费观看视频 | 黄色影院在线免费观看 | 亚洲黄色在线免费观看 | 99精品亚洲 | 色偷偷网站视频 | 丁香在线视频 | 国产在线视频资源 | 99精品国产一区二区三区不卡 | 激情五月在线视频 | 久久精品久久99精品久久 | 久久久久日本精品一区二区三区 | 国内三级在线观看 | 在线观看国产91 | 免费黄色在线播放 | 日本黄色免费观看 | 97精品国自产拍在线观看 | 手机在线日韩视频 | 激情五月婷婷激情 | 91精品国产欧美一区二区成人 | 999在线观看视频 | 久久精品五月 | 在线观看的av | 精品福利在线 | 91色在线观看视频 | av大片免费在线观看 | 国产美女视频免费观看的网站 | 综合色伊人 | 久久精品久久精品 | 日韩v在线 | 成人免费在线观看av | 97精品超碰一区二区三区 | 免费a级观看| 2023亚洲精品国偷拍自产在线 | 久久视频在线观看中文字幕 | 成人av久久| 色视频在线看 | 激情五月在线 | 成人av一区二区在线观看 | 一区二区三区四区五区在线视频 | 午夜精品久久久久久久久久久久 | 在线精品视频在线观看高清 | 在线精品视频免费观看 | 97超碰中文字幕 | 国产成人一区二区在线观看 | 青青草华人在线视频 | 亚洲一区二区三区四区在线视频 | 国产三级午夜理伦三级 | 五月天中文字幕 | 日韩免费一区二区三区 | 中文字幕观看视频 | 精品国产中文字幕 | 天天射天天搞 | 婷婷综合久久 | 国产高清视频在线播放一区 | 成人av资源网站 | 国产色妞影院wwwxxx | 亚洲综合精品视频 | 国产天天综合 | 日韩网| 99免费在线 | 久久爱导航 | 一区二区三区在线观看 | 精品一区二区三区香蕉蜜桃 | 日韩在线网址 | 国产高清在线观看 | 国产在线精品一区二区三区 | 西西www4444大胆在线 | 日韩免费一区二区三区 | 欧美一级电影 | 欧美精品一二三 | 久久免费的精品国产v∧ | 在线观看一区二区视频 | 亚洲精品tv久久久久久久久久 | 精品久久久久久国产 | 一级国产视频 | 最近中文字幕大全中文字幕免费 | 久久精品视频在线观看免费 | 日韩亚洲精品电影 | 黄色在线免费观看网站 | 免费高清在线视频一区· | 亚洲一区二区精品在线 | 日韩精品在线一区 | 综合av在线| 欧美乱熟臀69xxxxxx | 99久e精品热线免费 99国产精品久久久久久久久久 | 波多野结衣精品视频 | 亚洲黄色av网址 | 伊人婷婷色 | 国产精品欧美久久久久三级 | 中文字幕av在线电影 | 操夜夜操| 久久人人爽av| 九九久久免费视频 | 日本久久久久久久久久久 | 国产精品久久久久久模特 | 成人黄色在线 | 久久久久久亚洲精品 | 91传媒视频在线观看 | 久草在线| 国产女人免费看a级丨片 | 免费在线观看av网站 | 久久久黄色免费网站 | 亚洲成人资源网 | 国产性天天综合网 | 激情婷婷综合网 | 91视视频在线直接观看在线看网页在线看 | 热久久免费视频精品 | 欧美日韩精品二区第二页 | 91视频这里只有精品 | 免费av一级电影 | 六月色播 | av黄色国产 | 免费又黄又爽 | 999视频网| 麻豆视频一区二区 | 久久久久免费精品国产小说色大师 | 亚洲欧美经典 | 日韩精品一区二区在线视频 | 国产精品久久久久久久久费观看 | 97综合在线 | 欧美精品久久人人躁人人爽 | 日韩午夜在线 | 超碰人人乐 | 日韩一区精品 | 国产手机视频在线播放 | 91中文字幕在线观看 | 91亚洲精品乱码久久久久久蜜桃 | 国产视频18 | 欧美一进一出抽搐大尺度视频 | 久热免费在线 | 久草在线综合网 | 国产视频网站在线观看 | 97看片| 亚洲精区二区三区四区麻豆 | 日日干av | 奇米影视999| 91成人在线观看喷潮 | 亚洲国产999 | 啪啪凸凸 | 中文字幕免费观看全部电影 | 日韩电影一区二区三区 | 久久毛片高清国产 | 国产小视频免费观看 | 日韩理论在线 | 人人澡超碰碰 | 免费麻豆网站 | 久碰视频在线观看 | 天天色天天射天天操 | 日韩特黄av| 日韩视频三区 | 精品在线视频一区二区三区 | 亚洲免费公开视频 | 国产精品欧美久久久久天天影视 | 日韩一区二区在线免费观看 | 久久国产精品免费 | 亚洲人成在线电影 | 韩日在线一区 | 国内综合精品午夜久久资源 | av免费在线网| 在线日韩中文字幕 | 亚洲成av人片在线观看无 | 国产91粉嫩白浆在线观看 | 国产又粗又猛又爽又黄的视频先 | 最新日韩在线 | 综合在线观看 | 久久夜色精品国产欧美乱 | 丁香六月久久综合狠狠色 | 成人午夜片av在线看 | 五月婷婷精品 | 天天拍天天爽 | 黄色大片免费播放 | 精品国产视频在线观看 | 久久曰视频 | 久久久久国产精品一区 | 人人看人人草 | 亚洲三级性片 | 91精品啪在线观看国产线免费 | 97人人爽人人 | 999在线精品 | 亚洲国产日韩在线 | 久久免费看a级毛毛片 | 91在线麻豆 | 91精品国自产在线观看欧美 | 天天操天天谢 | 国产精品久久久久久麻豆一区 | 日本精品视频在线播放 | 国产成人精品一区一区一区 | 黄www在线观看 | 超碰人人干人人 | 免费看av片网站 | 狠狠色丁香婷婷综合久小说久 | 久久精品国产一区二区 | 久久久久久久国产精品 | 亚洲成成品网站 | 日韩av一区二区在线影视 | 亚洲国产经典视频 | av电影免费在线播放 | 在线观看日本韩国电影 | 精品视频99 | 亚洲视频久久久 | av黄色在线观看 | 99久久综合狠狠综合久久 | 日日精品 | 五月天视频网 | 狠狠色丁香婷婷综合欧美 | 国产91精品欧美 | 国产精品久久免费看 | 狠狠躁天天躁综合网 | 最近免费在线观看 | 久久精品成人欧美大片古装 | 久久av中文字幕片 | 在线观看中文字幕一区二区 | 91色偷偷| av国产在线观看 | 香蕉网在线观看 | 超碰激情在线 | 99综合影院在线 | 久久午夜色播影院免费高清 | 久久久国产精品免费 | 天天色天天综合网 | 国产999| 黄色国产在线观看 | 国产一区在线观看免费 | 亚洲精品视频在线观看免费视频 | 97超碰福利久久精品 | 久久99九九99精品 | 天天色天天干天天 | 99视频在线免费播放 | 一区二区三区在线免费 | 欧美日韩超碰 | 国产精品99久久99久久久二8 | 日本在线观看一区 | 91精品人成在线观看 | 五月婷婷影院 | 亚洲激情在线观看 | 国产性天天综合网 | 免费91在线观看 | 国产黄色大片 | 亚洲狠狠婷婷综合久久久 | 51久久成人国产精品麻豆 | 日韩在线视频一区 | 日韩欧三级| 亚洲欧美怡红院 | 精壮的侍卫呻吟h | 久久天天躁狠狠躁夜夜不卡公司 | 丁香花在线视频观看免费 | 日韩精品中文字幕在线 | 日韩av女优视频 | 五月天六月丁香 | 日韩精品视频免费 | 欧美怡红院视频 | 808电影免费观看三年 | 精品久久久久久久 | 久久免费99 | 中文视频一区二区 | 99这里只有久久精品视频 | 二区三区精品 | 国产精品免费av | 日韩欧美在线观看一区二区 | 毛片视频网址 | 啪啪肉肉污av国网站 | 激情五月网站 | 成 人 黄 色视频免费播放 | 免费aa大片 | 国产群p | 人人射人人| 成年人视频在线 | 欧美另类xxxx| 欧美日韩色婷婷 | 欧美精品亚洲精品 | 国产精品久久久久久久久费观看 | 免费看毛片网站 | 久久精精品视频 | 成人午夜在线电影 | 久久99久| 91免费看片黄 | 亚洲狠狠操| 亚洲一区二区视频在线 | bbbbb女女女女女bbbbb国产 | 国产韩国日本高清视频 | 欧美一级特黄aaaaaa大片在线观看 | 亚洲视频精选 | 亚洲视频一区二区三区在线观看 | 日韩超碰 | 在线观看色网 | 最新国产精品久久精品 | 五月婷影院| 成年人在线观看视频免费 | 97夜夜澡人人爽人人免费 | 国产精品一区专区欧美日韩 | 伊人久久五月天 | 亚洲欧美日韩国产一区二区三区 | 中文字幕日本特黄aa毛片 | 国产成人99av超碰超爽 | 久久99久久99免费视频 | 五月天狠狠操 | 2021av在线 | av电影一区二区三区 | 精品视频在线播放 | 在线观看中文字幕视频 | 免费在线一区二区三区 | 欧美巨乳网 | 色视频网页 | 日韩av五月天 | 麻花天美星空视频 | 国产美女在线精品免费观看 | 在线精品亚洲一区二区 | 国产亚洲精品精品精品 | 91久久久久久久一区二区 | 久久免费电影网 | 五月综合激情婷婷 | 色婷婷欧美 | 婷婷在线综合 | 综合网在线视频 | 91精品人成在线观看 | 亚州成人av在线 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 主播av在线 | 日本成人中文字幕在线观看 | 9999免费视频| 国产精品免费久久久久影院仙踪林 | 成人午夜av电影 | 日韩av看片| 亚洲综合在线播放 | 国产成人一级电影 | 日韩欧美在线综合网 | av日韩不卡| 91麻豆精品久久久久久 | 一本一道久久a久久精品蜜桃 | 美女露久久| 久久久久麻豆v国产 | 久久视频精品在线观看 | 欧美孕妇与黑人孕交 | 久久久久久久久久久久99 | a视频免费在线观看 | 亚洲天堂香蕉 | 久久久久免费观看 | 婷婷在线色 | 久久精品爱爱视频 | 白丝av在线 | 成人91在线观看 | 99色亚洲 | 久久免费视频播放 | 欧美久久久久 | 日韩在线短视频 | 色婷婷av一区二 | 日韩va欧美va亚洲va久久 | 国产黄色网 | av中文字幕在线免费观看 | 国产精品黄色在线观看 | 国产精品久久久免费看 | 久久精品官网 | 成人免费在线播放 | 99精品在线播放 | 亚洲三级av | 三上悠亚一区二区在线观看 | 日韩av成人在线 | 中文字幕中文字幕中文字幕 | 国产精品免费在线播放 | 国产精品24小时在线观看 | 久久成人麻豆午夜电影 | 亚洲国产精品视频在线观看 | 涩涩爱夜夜爱 | 久草视频在线免费看 | 成 人 黄 色 视频播放1 | 国产美女在线精品免费观看 | 天堂网一区 | 久久久不卡影院 | 亚洲精品高清在线 | 久久视频6| av在线播放不卡 | 国产一级淫片在线观看 | 国产免费人成xvideos视频 | 91麻豆产精品久久久久久 | 黄色a视频 | 免费在线观看av网址 | 日韩手机在线观看 | 久艹在线播放 | 日韩av不卡播放 | 在线一区av | 欧美一区日韩一区 | 亚洲精品456在线播放第一页 | 亚洲欧洲视频 | 国产高清免费 | 在线播放视频一区 | 999久久久久久 | 久久超级碰 | 91日韩精品 | 欧美激情综合色 | 成人国产一区 | 九九久久国产 | 天天爽夜夜爽人人爽曰av | 五月婷婷视频在线 | 国产精品美女久久久免费 | 激情视频二区 | 欧美午夜激情网 | 午夜精品视频一区二区三区在线看 | 亚洲成av人片在线观看无 | 亚洲欧洲成人精品av97 | 色婷婷天天干 | 亚洲婷婷综合色高清在线 | 久久久久久久毛片 | 国产91精品看黄网站在线观看动漫 | 丁香色婷 | 99re8这里有精品热视频免费 | 日韩一区二区三区观看 | 欧洲黄色片 | 免费av网站在线看 | 日本h视频在线观看 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 深夜免费福利网站 | 91精品1区2区 | 亚洲综合国产精品 | 国产在线 一区二区三区 | 午夜影院三级 | 五月天综合色 | 久久综合成人 | 久久久久国产成人免费精品免费 | 成人欧美一区二区三区黑人麻豆 | 久久香蕉电影 | 99r精品视频在线观看 | 99国产精品一区二区 | 日韩精品一区二区三区在线播放 | 国产一级免费在线观看 | 狠狠色丁香久久婷婷综合五月 | 欧美日韩亚洲精品在线 | 亚洲香蕉在线观看 | 开心综合网 | 国产aa免费视频 | 久草在线网址 | 91女子私密保健养生少妇 | 欧美一区二区在线免费看 | av在线影片| 久久久久久久久久久影院 | av噜噜噜在线播放 | 久久免费视频在线观看 | 日韩精品久久久久 | 五月婷婷综合在线观看 | a视频在线看 | 一区二区三区韩国免费中文网站 | 97国产一区二区 | 男女激情网址 | 亚洲在线色 | 99久久精品免费看国产四区 | 国产精品理论片在线播放 | 久久免费中文视频 | 久久草网 | www.亚洲黄色 | 色综合天 | 99精品免费久久久久久久久 | 欧美少妇bbwhd | 操少妇视频 | 色噜噜在线观看 | 操少妇视频 | 操久久网| 国产高清成人av | 久久99国产精品 | 亚洲 中文 在线 精品 | www.黄色片网站| 亚洲成人精品久久 | 婷婷综合激情 | 激情综合网五月 | 国内小视频在线观看 | 激情丁香综合五月 | 超碰公开在线观看 | 在线观看日韩视频 | 亚洲一区在线看 | 男女视频91 | 又爽又黄又刺激的视频 | 在线视频欧美精品 | 精品亚洲成a人在线观看 | 中文字幕亚洲五码 | 亚洲v精品| 97超碰中文字幕 | 国产亚洲精品久久久久久网站 | 午夜电影久久久 | 激情久久伊人 | 色婷婷导航 | 一级免费片 | 久久久av免费 | 国产色小视频 | 天天操天天干天天插 | 狠狠久久 | 久草网在线视频 | 99精品亚洲 | 婷婷中文字幕在线观看 | 亚洲v欧美v国产v在线观看 | 国产福利免费在线观看 | 最近日本中文字幕a | 久久久国产网站 | 亚洲精品国产精品国自产在线 | 久久久久免费精品视频 | 九九久久久久99精品 | 国产精品大片免费观看 | 久久久久国产精品一区二区 | 在线午夜av | 最近日本韩国中文字幕 | 91视频国产免费 | 欧美伦理一区 | 97色免费视频 | 色丁香久久 | 国产精品国产三级国产专区53 | 天天射天天操天天干 | 91视频在线免费下载 | 久久一久久 | 成人免费大片黄在线播放 | 91九色在线视频 | 日韩二三区 | 国产在线p | 日日夜夜免费精品 | 国产资源在线观看 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 国产麻豆视频在线观看 | 中文字幕亚洲欧美 | 久久av中文字幕片 | 亚洲天堂网在线视频 | 婷婷综合激情 | www久久99 | 福利视频区 | 国产亚洲一级高清 | 国产视频中文字幕在线观看 | 国产69精品久久99不卡的观看体验 | 免费热情视频 | 国产精品嫩草影视久久久 | 天天舔天天搞 | 精品视频久久 | 久久久久久久久久久电影 | 成人羞羞视频在线观看免费 | 国产免费不卡 | 日韩在线观看三区 | 国产性天天综合网 | 中文字幕国产一区二区 | 欧美精品久久久 | 天天射天天干天天爽 | 亚洲国产高清视频 | 日韩欧美一区二区三区免费观看 | 99精品国产高清在线观看 | 麻豆视频免费在线播放 | 四虎成人精品在永久免费 | 欧美色精品天天在线观看视频 | 亚洲第二色 | 91香蕉亚洲精品 | 天堂资源在线观看视频 | 四虎影视精品永久在线观看 | 五月激情五月激情 | 精品国产一区二区三区久久久 | 国产无吗一区二区三区在线欢 | 久久草在线精品 | 亚洲精品视频在线免费播放 | 久久久久久久久电影 | 超碰人人干人人 | 婷婷六月综合网 | 久久av网址 | 五月天国产精品 | 国产98色在线 | 日韩 | 欧美日韩一区二区在线 | 久久久资源 | 国产精品国产三级国产aⅴ无密码 | 久久最新视频 | 狠狠干狠狠插 | 一级性生活片 | 人人玩人人添人人 | 国产成人精品免费在线观看 | 久久精品美女 | 操操操夜夜操 | 日日夜夜精品免费视频 | 正在播放国产精品 | 久久成人免费电影 | 一区二区精品 | 91精品一区二区三区蜜臀 | 91在线在线观看 | 久久精品国产一区二区电影 | 在线电影播放 | 日韩在线短视频 | 亚洲一级理论片 | 香蕉在线播放 | 成人免费在线观看入口 | 怡春院av | 国内精品亚洲 | 亚洲三级国产 | 国产亚洲情侣一区二区无 | 99热这里只有精品久久 | 热久久国产 | 97在线观视频免费观看 | 国产免费中文字幕 | 91亚洲精品国偷拍自产在线观看 | 日本h视频在线观看 | 综合久久久久久久久 | 久久福利精品 | 久久草在线精品 | 成人午夜免费剧场 | 久青草视频在线观看 | www.久久爱.cn | 色偷偷88888欧美精品久久久 | 欧美日韩在线精品 | 亚洲精品视频观看 | 日本免费一二三区 | 在线观看亚洲国产 | 免费人成网ww44kk44 | 91视频午夜 | 亚洲成a人片在线www | 激情综合五月婷婷 | 国产专区视频 | 免费在线色电影 | 日韩在线观看视频免费 | 成人动漫一区二区三区 | 亚洲天堂精品视频在线观看 | 97视频免费看| 日韩和的一区二在线 | 成人av地址 | 国产区久久| 国产亚洲精品bv在线观看 | 亚洲视频在线观看免费 | 久草视频中文在线 | 免费91在线观看 | 国产色视频网站2 | 香蕉日日 | 亚洲一区二区高潮无套美女 | 日本在线视频网址 | 欧美孕妇与黑人孕交 | 成人免费网站在线观看 | 日韩欧美精选 | 狠狠干在线播放 | 四虎小视频 | 人人爽人人爽人人片 | 成年人在线免费看片 | 奇人奇案qvod | 91看片在线免费观看 | 免费在线国产黄色 | 精品亚洲在线 | 亚洲精品一区二区三区高潮 | 日韩av免费一区 | 丁香 婷婷 激情 | 天堂黄色片 | 免费黄色激情视频 | 国产成人精品女人久久久 | 国产成人精品亚洲a | 久久另类小说 | 91视频3p| 久视频在线 | 精品国产片 | 久久综合精品国产一区二区三区 | 午夜少妇一区二区三区 | 又黄又爽又无遮挡的视频 | 久草免费在线观看视频 | 亚洲黄色免费在线 | 夜夜爱av | 日韩精品短视频 | 日韩免费av网址 | 91在线中字 | 五月婷婷网站 | 激情久久婷婷 | 日韩精品欧美专区 | 午夜视频在线观看一区二区 | 五月婷婷中文字幕 | 国产精品久久久久久久7电影 | 91精品一区二区三区久久久久久 | 色偷偷88888欧美精品久久久 | 免费av观看网站 | 国产精品久久久区三区天天噜 | 91在线视频精品 | 久在线观看视频 | 欧美综合在线视频 | 五月天天在线 | 国产日韩欧美中文 | 亚洲狠狠婷婷综合久久久 | 亚洲综合在线视频 | 欧美在线视频第一页 | 国产精品久久久久一区二区国产 | 激情五月开心 | 黄色成人av | 免费av视屏| 亚洲三级网 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 黄色一级在线免费观看 | 精品亚洲成人 | 亚洲高清不卡av | 亚洲视频在线观看网站 | 99精品福利 | 国产乱老熟视频网88av | 中文av在线免费观看 | 一区二区三区污 | 精品国产成人在线 | 视频在线观看亚洲 | 久久久久久久久久电影 | 99精品视频在线免费观看 | 中文字幕第一页在线vr | 天天操天天摸天天干 | 超碰人人av| 99re国产视频| 美女久久久久久久久久久 | 国产在线观看免 | 久久久精品综合 | 黄在线免费观看 | 激情在线网址 | 深夜国产福利 | 国产精品99久久久久久久久久久久 | 日本不卡123 | 91av亚洲| 国产成人一区二区三区影院在线 | 欧美一区二区在线免费观看 | 人人狠狠 | 日韩精品免费一区二区在线观看 | av在线永久免费观看 | 福利一区二区三区四区 | 精品少妇一区二区三区在线 | 日本久久成人中文字幕电影 | 国产免费一区二区三区最新 | 国产精品久久一区二区三区不卡 | 亚洲区视频在线观看 | 国产在线欧美日韩 | 国产视频中文字幕在线观看 | 深夜免费网站 | 懂色av一区二区在线播放 | 91丨九色丨国产在线观看 | 六月激情 | 国产在线视频一区二区 | 欧美老人xxxx18 | 黄色a级片在线观看 | av片在线观看 | 日韩欧美成人网 | 免费看一级特黄a大片 | 国产精品一区二区av影院萌芽 | 精品久久五月天 | 日韩精品中文字幕av | 亚洲国产精品成人女人久久 | 99久久网站| 久久综合色天天久久综合图片 | 欧美性黑人 | 国产亚洲精品无 | 午夜视频在线观看欧美 | 国产精品18久久久久久不卡孕妇 | 97超碰在线免费 | 色先锋资源网 | 九九有精品 | 日韩免费视频线观看 | 免费网站色 | 黄色在线观看免费 | 欧美日韩高清一区二区 国产亚洲免费看 | 亚洲伊人婷婷 | 97精品视频在线播放 | 国产精品久久久久影院日本 | 久久综合狠狠狠色97 | 中文字幕刺激在线 | 丁香六月五月婷婷 | 日本精品va在线观看 | 亚洲精品国产欧美在线观看 | 激情小说 五月 | 在线观看中文字幕一区 | 久久成人麻豆午夜电影 | 久精品视频在线观看 | 日日干夜夜草 | 精品一区二区免费视频 | www.久草视频 | 国产精品久久久久国产精品日日 | 毛片视频网址 | 成人在线免费视频 | 在线观看免费一级片 | 色综合天天做天天爱 | 91九色porn在线资源 | 日韩理论在线视频 | 国产成人一级电影 | 伊人狠狠| 亚洲日日射 | 一级久久精品 | 日韩av男人的天堂 | 久久久国产一区 | 国产精品美女久久久 | 天天爱天天 | 色欧美成人精品a∨在线观看 | 中文视频在线 | av在线小说| 摸bbb搡bbb搡bbbb| 色噜噜在线观看视频 | 天天天干天天天操 | 9999免费视频 | 99精品视频在线看 | 五月婷婷丁香色 | 丁香五月网久久综合 | 成人av免费 | 久草精品资源 | 国产精品久久久久久久久久久久午夜 | 91免费观看 | 人人爽人人搞 | 免费av试看 | 免费观看mv大片高清 | 中文字幕国内精品 | 日韩久久久久久 | 在线看一级片 | 婷婷精品| 亚洲欧美在线综合 | 99久久精品免费视频 | 国产69精品久久久久久 | 亚洲免费在线播放视频 | 一区二区三区国产欧美 | 天天·日日日干 | 久久综合天天 | 西西人体4444www高清视频 | 国产精品一区二区无线 | 在线亚洲观看 | 婷婷色社区 | 亚洲三级网 | 亚州精品一二三区 | 日日爱网址 | 又爽又黄在线观看 | 成人h视频在线 | 国产69久久久欧美一级 | 在线观看视频一区二区三区 | 伊人www22综合色 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 成人h视频在线播放 | 国内精品久久天天躁人人爽 | 美女网站黄免费 | 午夜视频一区二区 | 欧美成人区 | 国产精品国产精品 | 免费看片网页 | 中文字幕国产精品一区二区 | 狠狠色丁香婷婷综合最新地址 | 日日天天狠狠 | 久久综合影音 | 91网免费看 | 成人免费看片网址 | 国产精品国内免费一区二区三区 | 欧美激情视频三区 | 国产一二区在线观看 | 激情视频综合网 | 日韩精品欧美一区 | 天天综合网国产 | 91精品91 | 99 久久久久 | 九九热视频在线播放 | 日韩在线首页 | 香蕉国产91 | 午夜久久久精品 | 久久极品 | 国产美女免费看 | 欧美 亚洲 另类 激情 另类 | 欧美综合色 | 婷婷色网址 | 国产无遮挡又黄又爽馒头漫画 | 久久久久久综合网天天 | 久久免费视频一区 | 久久久久久久久毛片 | 国产在线观看你懂得 | 天天射综合网站 | 亚洲网站在线看 | 7799av| 手机看片国产日韩 | 亚洲视屏在线播放 | 一区中文字幕在线观看 | 麻豆传媒视频在线播放 | 久久久久中文字幕 | 人人爽人人舔 | 五月天中文字幕 | 国产69精品久久99的直播节目 | 一本一道久久a久久精品蜜桃 | 久久九九视频 | 九九九视频精品 | 亚洲一区视频免费观看 | 久久精品99国产国产 | 国产一区二区三区在线 | 97超级碰碰碰碰久久久久 | 欧美大片大全 | 91高清完整版在线观看 | 久久精品网址 | 午夜性生活片 | 黄网站免费大全入口 | 中文字幕一区二区三区久久蜜桃 | 精品中文字幕在线 | 91久久精品一区 | 激情黄色一级片 | 国产精品久久久久久久久久久久午夜片 | 日本黄色黄网站 | 国产精品五月天 | 日日夜夜操av | 日韩av电影免费在线观看 | 亚洲香蕉在线观看 | 麻豆一精品传二传媒短视频 | 97精品国自产拍在线观看 | 亚洲成人av影片 | 天堂av免费观看 | 91丨九色丨蝌蚪丨对白 | 91精品在线视频观看 | 色婷婷丁香 | 成人网在线免费视频 | 成人91av| 五月激情丁香婷婷 | 婷婷丁香狠狠爱 | 国产精品乱码久久久 | 中文字幕一区二区三区四区在线视频 | 久久久免费在线观看 | 天天射天天干 | 欧美日韩一区二区久久 | 欧美国产日韩一区 | 亚洲午夜精品电影 | 精品国产乱码久久久久久1区二区 | 欧美成人黄色片 | 国产二区精品 | 午夜影视剧场 | 在线观看国产日韩欧美 | 91精品亚洲影视在线观看 | 色91在线视频 | 免费av在线网 | 免费成人短视频 | 成年人在线电影 | 日韩欧美国产精品 | av片无限看| 91精品视频网站 | 国产精品福利无圣光在线一区 | 成人激情开心网 | 日日干夜夜爱 | 免费日韩 | 中文字幕一区二区三区久久蜜桃 | 日韩中文久久 | 91黄色免费看| 在线不卡中文字幕播放 | 超碰97在线资源站 | 97电影手机 | 久久欧美在线电影 | 九九免费精品 | 另类老妇性bbwbbw高清 | 天天视频亚洲 | 久久国产精品久久精品国产演员表 | 亚洲欧美少妇 | 中文字幕91在线 | 精产嫩模国品一二三区 | 亚洲天堂香蕉 |