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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Linux 的多线程编程的高效开发经验

發布時間:2025/5/22 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux 的多线程编程的高效开发经验 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背景

Linux 平臺上的多線程程序開發相對應其他平臺(比如 Windows)的多線程 API 有一些細微和隱晦的差別。不注意這些 Linux 上的一些開發陷阱,常常會導致程序問題不窮,死鎖不斷。本文中我們從 5 個方面總結出 Linux 多線程編程上的問題,并分別引出相關改善的開發經驗,用以避免這些的陷阱。我們希望這些經驗可以幫助讀者們能更好更快的熟悉 Linux 平臺的多線程編程。

我們假設讀者都已經很熟悉 Linux 平臺上基本的線程編程的 Pthread 庫 API 。其他的第三方用以線程編程的庫,如 boost,將不會在本文中提及。本文中主要涉及的題材包括線程開發中的線程管理,互斥變量,條件變量等。進程概念將不會在本文中涉及。


Linux 上線程開發 API 的概要介紹

多線程開發在 Linux 平臺上已經有成熟的 Pthread 庫支持。其涉及的多線程開發的最基本概念主要包含三點:線程,互斥鎖,條件。其中,線程操作又分線程的創建,退出,等待 3 種。互斥鎖則包括 4 種操作,分別是創建,銷毀,加鎖和解鎖。條件操作有 5 種操作:創建,銷毀,觸發,廣播和等待。其他的一些線程擴展概念,如信號燈等,都可以通過上面的三個基本元素的基本操作封裝出來。

線程,互斥鎖,條件在 Linux 平臺上對應的 API 可以用表 1 歸納。為了方便熟悉 Windows 線程編程的讀者熟悉 Linux 多線程開發的 API,我們在表中同時也列出 Windows SDK 庫中所對應的 API 名稱。


表 1. 線程函數列表
對象操作Linux Pthread APIWindows SDK 庫對應 API
線程創建pthread_createCreateThread
退出pthread_exitThreadExit
等待pthread_joinWaitForSingleObject
互斥鎖創建pthread_mutex_initCreateMutex
銷毀pthread_mutex_destroyCloseHandle
加鎖pthread_mutex_lockWaitForSingleObject
解鎖pthread_mutex_unlockReleaseMutex
條件創建pthread_cond_initCreateEvent
銷毀pthread_cond_destroyCloseHandle
觸發pthread_cond_signalSetEvent
廣播pthread_cond_broadcastSetEvent / ResetEvent
等待pthread_cond_wait / pthread_cond_timedwaitSingleObjectAndWait

多線程開發在 Linux 平臺上已經有成熟的 Pthread 庫支持。其涉及的多線程開發的最基本概念主要包含三點:線程,互斥鎖,條件。其中,線程操作又分線程的創建,退出,等待 3 種。互斥鎖則包括 4 種操作,分別是創建,銷毀,加鎖和解鎖。條件操作有 5 種操作:創建,銷毀,觸發,廣播和等待。其他的一些線程擴展概念,如信號燈等,都可以通過上面的三個基本元素的基本操作封裝出來。


Linux 線程編程中的 5 條經驗

盡量設置 recursive 屬性以初始化 Linux 的互斥變量

互斥鎖是多線程編程中基本的概念,在開發中被廣泛使用。其調用次序層次清晰簡單:建鎖,加鎖,解鎖,銷毀鎖。但是需要注意的是,與諸如 Windows 平臺的互斥變量不同,在默認情況下,Linux 下的同一線程無法對同一互斥鎖進行遞歸加速,否則將發生死鎖。

所謂遞歸加鎖,就是在同一線程中試圖對互斥鎖進行兩次或兩次以上的行為。其場景在 Linux 平臺上的代碼可由清單 1 所示。


清單 1. Linux 重復對互斥鎖加鎖實例
// 通過默認條件建鎖pthread_mutex_t *theMutex = new pthread_mutex_t; pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); pthread_mutex_init(theMutex,&attr); pthread_mutexattr_destroy(&attr); // 遞歸加鎖pthread_mutex_lock (theMutex); pthread_mutex_lock (theMutex); pthread_mutex_unlock (theMutex); pthread_mutex_unlock (theMutex);

在以上代碼場景中,問題將出現在第二次加鎖操作。由于在默認情況下,Linux 不允許同一線程遞歸加鎖,因此在第二次加鎖操作時線程將出現死鎖。

Linux 互斥變量這種奇怪的行為或許對于特定的某些場景會所有用處,但是對于大多數情況下看起來更像是程序的一個 bug 。畢竟,在同一線程中對同一互斥鎖進行遞歸加鎖在尤其是二次開發中經常會需要。

這個問題與互斥鎖的中的默認 recursive 屬性有關。解決問題的方法就是顯式地在互斥變量初始化時將設置起 recursive 屬性。基于此,以上代碼其實稍作修改就可以很好的運行,只需要在初始化鎖的時候加設置一個屬性。請看清單 2 。


清單 2. 設置互斥鎖 recursive 屬性實例
pthread_mutexattr_init(&attr); // 設置 recursive 屬性pthread_mutexattr_settype(&attr,PTHREAD_MUTEX_RECURSIVE_NP); pthread_mutex_init(theMutex,&attr);

因此,建議盡量設置 recursive 屬性以初始化 Linux 的互斥鎖,這樣既可以解決同一線程遞歸加鎖的問題,又可以避免很多情況下死鎖的發生。這樣做還有一個額外的好處,就是可以讓 Windows 和 Linux 下讓鎖的表現統一。

注意 Linux 平臺上觸發條件變量的自動復位問題

條件變量的置位和復位有兩種常用模型:第一種模型是當條件變量置位(signaled)以后,如果當前沒有線程在等待,其狀態會保持為置位 (signaled),直到有等待的線程進入被觸發,其狀態才會變為復位(unsignaled),這種模型的采用以 Windows 平臺上的 Auto-set Event 為代表。其狀態變化如圖 1 所示:


圖 1. Windows 的條件變量狀態變化流程

第二種模型則是 Linux 平臺的 Pthread 所采用的模型,當條件變量置位(signaled)以后,即使當前沒有任何線程在等待,其狀態也會恢復為復位(unsignaled)狀態。其狀態變化如圖 2 所示:


圖 2. Linux 的條件變量狀態變化流程

具體來說,Linux 平臺上 Pthread 下的條件變量狀態變化模型是這樣工作的:調用 pthread_cond_signal() 釋放被條件阻塞的線程時,無論存不存在被阻塞的線程,條件都將被重新復位,下一個被條件阻塞的線程將不受影響。而對于 Windows,當調用 SetEvent 觸發 Auto-reset 的 Event 條件時,如果沒有被條件阻塞的線程,那么條件將維持在觸發狀態,直到有新的線程被條件阻塞并被釋放為止。

這種差異性對于那些熟悉 Windows 平臺上的條件變量狀態模型而要開發 Linux 平臺上多線程的程序員來說可能會造成意想不到的尷尬結果。試想要實現一個旅客坐出租車的程序:旅客在路邊等出租車,調用條件等待。出租車來了,將觸發條 件,旅客停止等待并上車。一個出租車只能搭載一波乘客,于是我們使用單一觸發的條件變量。這個實現邏輯在第一個模型下即使出租車先到,也不會有什么問題, 其過程如圖 3 所示:


圖 3. 采用 Windows 條件變量模型的出租車實例流程

然而如果按照這個思路來在 Linux 上來實現,代碼看起來可能是清單 3 這樣。


清單 3. Linux 出租車案例代碼實例
……// 提示出租車到達的條件變量pthread_cond_t taxiCond; // 同步鎖pthread_mutex_t taxiMutex; // 旅客到達等待出租車void * traveler_arrive(void * name) { cout<< ” Traveler: ” <<(char *)name<< ” needs a taxi now! ” <<endl; pthread_mutex_lock(&taxiMutex); pthread_cond_wait (&taxiCond, &taxtMutex); pthread_mutex_unlock (&taxtMutex); cout<< ” Traveler: ” << (char *)name << ” now got a taxi! ” <<endl; pthread_exit( (void *)0 ); } // 出租車到達void * taxi_arrive(void *name) { cout<< ” Taxi ” <<(char *)name<< ” arrives. ” <<endl; pthread_cond_signal(&taxtCond); pthread_exit( (void *)0 ); } void main() { // 初始化taxtCond= PTHREAD_COND_INITIALIZER; taxtMutex= PTHREAD_MUTEX_INITIALIZER; pthread_t thread; pthread_attr_t threadAttr; pthread_attr_init(&threadAttr); pthread_create(&thread, & threadAttr, taxt_arrive, (void *)( ” Jack ” )); sleep(1); pthread_create(&thread, &threadAttr, traveler_arrive, (void *)( ” Susan ” )); sleep(1); pthread_create(&thread, &threadAttr, taxi_arrive, (void *)( ” Mike ” )); sleep(1); return 0; }

好的,運行一下,看看結果如清單 4 。


清單 4. 程序結果輸出
Taxi Jack arrives. Traveler Susan needs a taxi now! Taxi Mike arrives. Traveler Susan now got a taxi.

其過程如圖 4 所示:


圖 4. 采用 Linux 條件變量模型的出租車實例流程

通過對比結果,你會發現同樣的邏輯,在 Linux 平臺上運行的結果卻完全是兩樣。對于在 Windows 平臺上的模型一, Jack 開著出租車到了站臺,觸發條件變量。如果沒顧客,條件變量將維持觸發狀態,也就是說 Jack 停下車在那里等著。直到 Susan ×××來了站臺,執行等待條件來找出租車。 Susan 搭上 Jack 的出租車離開,同時條件變量被自動復位。

但是到了 Linux 平臺,問題就來了,Jack 到了站臺一看沒人,觸發的條件變量被直接復位,于是 Jack 排在等待隊列里面。來遲一秒的 Susan ×××到了站臺卻看不到在那里等待的 Jack,只能等待,直到 Mike 開車趕到,重新觸發條件變量,Susan 才上了 Mike 的車。這對于在排隊系統前面的 Jack 是不公平的,而問題癥結是在于 Linux 平臺上條件變量觸發的自動復位引起的一個 Bug 。

條件變量在 Linux 平臺上的這種模型很難說好壞。但是在實際開發中,我們可以對代碼稍加改進就可以避免這種差異的發生。由于這種差異只發生在觸發沒有被線程等待在條件變量的 時刻,因此我們只需要掌握好觸發的時機即可。最簡單的做法是增加一個計數器記錄等待線程的個數,在決定觸發條件變量前檢查下該變量即可。改進后 Linux 函數如清單 5 所示。


清單 5. Linux 出租車案例代碼實例
……// 提示出租車到達的條件變量pthread_cond_t taxiCond; // 同步鎖pthread_mutex_t taxiMutex; // 旅客人數,初始為 0 int travelerCount=0; // 旅客到達等待出租車void * traveler_arrive(void * name) { cout<< ” Traveler: ” <<(char *)name<< ” needs a taxi now! ” <<endl; pthread_mutex_lock(&taxiMutex); // 提示旅客人數增加travelerCount++; pthread_cond_wait (&taxiCond, &taxiMutex); pthread_mutex_unlock (&taxiMutex); cout<< ” Traveler: ” << (char *)name << ” now got a taxi! ” <<endl; pthread_exit( (void *)0 ); } // 出租車到達void * taxi_arrive(void *name) { cout<< ” Taxi ” <<(char *)name<< ” arrives. ” <<endl; while(true) { pthread_mutex_lock(&taxiMutex); // 當發現已經有旅客在等待時,才觸發條件變量if(travelerCount>0) { pthread_cond_signal(&taxtCond); pthread_mutex_unlock (&taxiMutex); break; } pthread_mutex_unlock (&taxiMutex); } pthread_exit( (void *)0 ); }

因此我們建議在 Linux 平臺上要出發條件變量之前要檢查是否有等待的線程,只有當有線程在等待時才對條件變量進行觸發。

注意條件返回時互斥鎖的解鎖問題

在 Linux 調用 pthread_cond_wait 進行條件變量等待操作時,我們增加一個互斥變量參數是必要的,這是為了避免線程間的競爭和饑餓情況。但是當條件等待返回時候,需要注意的是一定不要遺漏對互斥變量進行解鎖。

Linux 平臺上的 pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex) 函數返回時,互斥鎖 mutex 將處于鎖定狀態。因此之后如果需要對臨界區數據進行重新訪問,則沒有必要對 mutex 就行重新加鎖。但是,隨之而來的問題是,每次條件等待以后需要加入一步手動的解鎖操作。正如前文中乘客等待出租車的 Linux 代碼如清單 6 所示:


清單 6. 條件變量返回后的解鎖實例
void * traveler_arrive(void * name) { cout<< ” Traveler: ” <<(char *)name<< ” needs a taxi now! ” <<endl; pthread_mutex_lock(&taxiMutex); pthread_cond_wait (&taxiCond, &taxtMutex); pthread_mutex_unlock (&taxtMutex); cout<< ” Traveler: ” << (char *)name << ” now got a taxi! ” <<endl; pthread_exit( (void *)0 ); }

這一點對于熟悉 Windows 平臺多線程開發的開發者來說尤為重要。 Windows 上的 SignalObjectAndWait() 函數是常與 Linux 平臺上的 pthread_cond_wait() 函數被看作是跨平臺編程時的一對等價函數。但是需要注意的是,兩個函數退出時的狀態是不一樣的。在 Windows 平臺上,SignalObjectAndWait(HANDLE a, HANDLE b, …… ) 方法在調用結束返回時的狀態是 a 和 b 都是置位(signaled)狀態,在普遍的使用方法中,a 經常是一個 Mutex 變量,在這種情況下,當返回時,Mutex a 處于解鎖狀態(signaled),Event b 處于置位狀態(signaled), 因此,對于 Mutex a 而言,我們不需要考慮解鎖的問題。而且,在 SignalObjectAndWait() 之后,如果需要對臨界區數據進行重新訪問,都需要調用 WaitForSingleObject() 重新加鎖。這一點剛好與 Linux 下的 pthread_cond_wait() 完全相反。

Linux 對于 Windows 的這一點額外解鎖的操作區別很重要,一定得牢記。否則從 Windows 移植到 Linux 上的條件等待操作一旦忘了結束后的解鎖操作,程序將肯定會發生死鎖。

等待的絕對時間問題

超時是多線程編程中一個常見的概念。例如,當你在 Linux 平臺下使用 pthread_cond_timedwait() 時就需要指定超時這個參數,以便這個 API 的調用者最多只被阻塞指定的時間間隔。但是如果你是第一次使用這個 API 時,首先你需要了解的就是這個 API 當中超時參數的特殊性(就如本節標題所提示的那樣)。我們首先來看一下這個 API 的定義。 pthread_cond_timedwait() 定義請看清單 7 。


清單 7. pthread_cond_timedwait() 函數定義
int pthread_cond_timedwait(pthread_cond_t *restrict cond, pthread_mutex_t *restrict mutex, const struct timespec *restrict abstime);

參數 abstime 在這里用來表示和超時時間相關的一個參數,但是需要注意的是它所表示的是一個絕對時間,而不是一個時間間隔數值,只有當系統的當前時間達到或者超過 abstime 所表示的時間時,才會觸發超時事件。這對于擁有 Windows 平臺線程開發經驗的人來說可能尤為困惑。因為 Windows 平臺下所有的 API 等待參數(如 SignalObjectAndWait,等)都是相對時間,

假設我們指定相對的超時時間參數如 dwMilliseconds (單位毫秒)來調用和超時相關的函數,這樣就需要將 dwMilliseconds 轉化為 Linux 下的絕對時間參數 abstime 使用。常用的轉換方法如清單 8 所示:


清單 8. 相對時間到絕對時間轉換實例
/* get the current time */ struct timeval now; gettimeofday(&now, NULL); /* add the offset to get timeout value */ abstime ->tv_nsec = now.tv_usec * 1000 + (dwMilliseconds % 1000) * 1000000; abstime ->tv_sec = now.tv_sec + dwMilliseconds / 1000;

Linux 的絕對時間看似簡單明了,卻是開發中一個非常隱晦的陷阱。而且一旦你忘了時間轉換,可以想象,等待你的錯誤將是多么的令人頭疼:如果忘了把相對時間轉換成 絕對時間,相當于你告訴系統你所等待的超時時間是過去式的 1970 年 1 月 1 號某個時間段,于是操作系統毫不猶豫馬上送給你一個 timeout 的返回值,然后你會舉著拳頭抱怨為什么另外一個同步線程耗時居然如此之久,并一頭扎進尋找耗時原因的深淵里。

正確處理 Linux 平臺下的線程結束問題

在 Linux 平臺下,當處理線程結束時需要注意的一個問題就是如何讓一個線程善始善終,讓其所占資源得到正確釋放。在 Linux 平臺默認情況下,雖然各個線程之間是相互獨立的,一個線程的終止不會去通知或影響其他的線程。但是已經終止的線程的資源并不會隨著線程的終止而得到釋放, 我們需要調用 pthread_join() 來獲得另一個線程的終止狀態并且釋放該線程所占的資源。 Pthread_join() 函數的定義如清單 9 。


清單 9. pthread_join 函數定義
int pthread_join(pthread_t th, void **thread_return);

調用該函數的線程將掛起,等待 th 所表示的線程的結束。 thread_return 是指向線程 th 返回值的指針。需要注意的是 th 所表示的線程必須是 joinable 的,即處于非 detached(游離)狀態;并且只可以有唯一的一個線程對 th 調用 pthread_join() 。如果 th 處于 detached 狀態,那么對 th 的 pthread_join() 調用將返回錯誤。

如果你壓根兒不關心一個線程的結束狀態,那么也可以將一個線程設置為 detached 狀態,從而來讓操作系統在該線程結束時來回收它所占的資源。將一個線程設置為 detached 狀態可以通過兩種方式來實現。一種是調用 pthread_detach() 函數,可以將線程 th 設置為 detached 狀態。其申明如清單 10 。


清單 10. pthread_detach 函數定義
int pthread_detach(pthread_t th);

另一種方法是在創建線程時就將它設置為 detached 狀態,首先初始化一個線程屬性變量,然后將其設置為 detached 狀態,最后將它作為參數傳入線程創建函數 pthread_create(),這樣所創建出來的線程就直接處于 detached 狀態。方法如清單 11 。


清單 11. 創建 detach 線程代碼實例
………………………………… .. pthread_t tid; pthread_attr_t attr; pthread_attr_init(&attr); pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); pthread_create(&tid, &attr, THREAD_FUNCTION, arg);

總之為了在使用 Pthread 時避免線程的資源在線程結束時不能得到正確釋放,從而避免產生潛在的內存泄漏問題,在對待線程結束時,要確保該線程處于 detached 狀態,否著就需要調用 pthread_join() 函數來對其進行資源回收。


總結與補充

本文以上部分詳細介紹了 Linux 的多線程編程的 5 條高效開發經驗。另外你也可以考慮嘗試其他一些開源類庫來進行線程開發。

1. Boost 庫

Boost 庫來自于由 C++ 標準委員會類庫工作組成員發起,致力于為 C++ 開發新的類庫的 Boost 組織。雖然該庫本身并不是針對多線程而產生,但是發展至今,其已提供了比較全面的多線程編程的 API 支持。 Boost 庫對于多線程支持的 API 風格上更類似于 Linux 的 Pthread 庫,差別在于其將線程,互斥鎖,條件等線程開發概念都封裝成了 C++ 類,以方便開發調用。 Boost 庫目前對跨平臺支持的很不錯,不僅支持 Windows 和 Linux ,還支持各種商用的 Unix 版本。如果開發者想使用高穩定性的統一線程編程接口減輕跨平臺開發的難度, Boost 庫將是首選。

2. ACE

ACE 全稱是 ADAPTIVE Communication Environment,它是一個免費的,開源的,面向對象的工具框架,用以開發并發訪問的軟件。由于 ACE 最初是面向網絡服務端的編程開發,因此對于線程開發的工具庫它也能提供很全面的支持。其支持的平臺也很全面,包括 Windows,Linux 和各種版本 Unix 。 ACE 的唯一問題是如果僅僅是用于線程編程,其似乎顯得有些過于重量級。而且其較復雜的配置也讓其部署對初學者而言并非易事。


參考資料

  • IBM Developerworks 以下系列文章系列詳細介紹了如何對線程程序從 Windows 到 Linux 上進行移植。
    ?
  • 文章《Strategies for Implementing POSIX Condition Variables on Win32》很全面的介紹了如何在 Windows 上實現 POSIX condition。
    ?
  • 參閱 Boost 庫的官方網站
    ?
  • 參閱 ACE 庫的官方網站

轉載自:http://www.ibm.com/developerworks/cn/linux/l-cn-mthreadps/index.html

轉載于:https://blog.51cto.com/yiluyouni/631611

總結

以上是生活随笔為你收集整理的Linux 的多线程编程的高效开发经验的全部內容,希望文章能夠幫你解決所遇到的問題。

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

亚洲免费高清视频 | 久久国产精品久久w女人spa | av 在线观看| 干干干操操操 | 久久久久久久久久久网 | 国产在线国产 | 激情中文字幕 | 久久一精品 | 在线观看韩日电影免费 | 亚洲高清av | 日黄网站| 欧美日韩精品在线播放 | 9797在线看片亚洲精品 | 亚洲国产精品999 | 免费看的黄色录像 | 日韩a在线播放 | 啪啪小视频网站 | 九九在线播放 | 日日夜夜中文字幕 | 免费观看日韩av | 欧美整片sss| 久久久性 | 99r国产精品 | 国产不卡免费av | 日韩理论在线播放 | 在线观看国产日韩 | 日韩毛片一区 | aaa日本高清在线播放免费观看 | 国产精品剧情在线亚洲 | 狂野欧美激情性xxxx | 国产免费成人av | 在线观看国产区 | 色哟哟国产精品 | 国产日韩精品一区二区在线观看播放 | 美女视频黄是免费的 | 久久久久久久久久久久99 | 日日操夜夜操狠狠操 | 亚洲视频1| 免费合欢视频成人app | 国产精品丝袜在线 | 日韩av电影手机在线观看 | 久久99电影| 午夜精品久久久久久99热明星 | 国产中年夫妇高潮精品视频 | 在线观看福利网站 | 国产一级一片免费播放放 | 日本精品在线看 | 99c视频高清免费观看 | 玖玖精品视频 | 国产一区二区免费在线观看 | 日韩av在线不卡 | 国产精品嫩草影院99网站 | 免费在线一区二区 | 热久久这里只有精品 | 国产不卡网站 | 亚洲国产小视频在线观看 | 欧美精品一二三 | 欧美日韩另类在线 | 国产视频日韩视频欧美视频 | 涩涩爱夜夜爱 | 91在线免费观看国产 | 狠狠操91| 婷婷激情影院 | 在线观看视频黄色 | 欧美色888 | 色香天天 | 欧美韩国在线 | 日操干| 亚洲天天草 | 日本精品视频在线观看 | 国产视频一二区 | 91久久爱热色涩涩 | 日日夜夜狠狠操 | 99久久免费看 | 精品一区二区av | 中文字幕在线看视频国产中文版 | 国产一区免费观看 | 91在线www| 欧美日韩视频网站 | 久久99热精品 | 久久99久久99精品中文字幕 | 久久久久久高潮国产精品视 | 狠狠操狠狠干2017 | 国产精品白虎 | 亚洲激情久久 | 97精品伊人| 三级性生活视频 | 国产日韩精品一区二区三区 | 国色综合 | www.91国产| 国产69精品久久99不卡的观看体验 | 91成人在线看 | 久久综合九色综合久99 | 日韩天堂网 | 丁香五月亚洲综合在线 | 少妇搡bbb | 日本精品午夜 | 99热国内精品 | 久久99视频免费 | 天天综合网久久综合网 | 欧美另类交人妖 | 亚洲日本va午夜在线电影 | 深爱激情五月婷婷 | 久久五月激情 | 一区二区视频播放 | 日本高清中文字幕有码在线 | 粉嫩aⅴ一区二区三区 | 亚洲性少妇性猛交wwww乱大交 | 成人影片免费 | 久久久免费观看 | 又黄又刺激视频 | 免费av在| 美女黄久久 | 狠狠网亚洲精品 | 国产美女精品久久久 | 一区三区视频在线观看 | 日韩免费不卡av | 精品国产乱码久久久久久1区2匹 | 黄a网 | 日韩在线精品一区 | 亚洲最新av网站 | 深爱五月网 | 国产不卡在线看 | 久久夜夜操 | 成人精品视频久久久久 | 国产天天综合 | 国产免费小视频 | 日b视频在线观看网址 | 六月丁香六月婷婷 | 亚洲精品乱码久久久久久蜜桃动漫 | 久久福利小视频 | 91精品国产高清自在线观看 | 97在线观看免费观看 | 亚洲小视频在线观看 | 欧美综合色 | www.色午夜| 精品久久久国产 | 超碰人人射 | 国产婷婷vvvv激情久 | 久久丁香 | 日日天天干 | 少妇视频一区 | 欧美日韩不卡一区二区 | 久久国内视频 | 97超在线 | 国产999精品久久久久久 | 久久开心激情 | 黄色毛片视频 | 97福利在线观看 | 玖玖综合网 | 久久久黄视频 | 中文字幕在线视频网站 | 久久综合久色欧美综合狠狠 | 久久免费99 | 激情中文字幕 | 狠狠干网址 | 日本一区二区三区免费看 | 在线观看91 | 亚洲一本视频 | 国产手机免费视频 | 亚洲欧美日韩国产精品一区午夜 | 亚洲精品99久久久久久 | 日韩视频在线观看免费 | 久久国产精品免费看 | 亚洲综合国产精品 | 国产精品免费在线视频 | 一级黄色片在线免费看 | 亚洲第一中文网 | 亚洲精品国偷自产在线99热 | 亚洲精品影视在线观看 | 日b视频在线观看网址 | 欧美日韩91 | 五月婷婷视频在线 | 国产高清网站 | 成人永久视频 | 免费看污的网站 | 国产在线日本 | 久久噜噜少妇网站 | 免费黄色一区 | www.综合网.com | 成人精品一区二区三区中文字幕 | 国外成人在线视频网站 | 伊人中文网 | 久久久久久蜜av免费网站 | 91综合久久一区二区 | 日韩网站在线看片你懂的 | 六月丁香婷 | 00av视频 | 免费观看一级视频 | 精品一区二区久久久久久久网站 | 欧美日韩国产色综合一二三四 | 亚洲美女精品 | 久久xx视频| 天天干天天操天天搞 | 亚洲另类久久 | 丁香六月综合网 | 999热视频| 欧洲精品一区二区 | 日狠狠| 天天操天天干天天爽 | 99久久精品国产一区二区三区 | 91精品国产99久久久久 | 久久久久网址 | 激情综合网五月 | 久久久精品成人 | 精品国产综合区久久久久久 | 激情久久久久久久久久久久久久久久 | 午夜精品视频一区 | 黄色网址中文字幕 | 久久日韩精品 | 国产视频1 | 精品视频成人 | 草樱av| 日韩欧美有码在线 | 国产精品女同一区二区三区久久夜 | 中日韩欧美精彩视频 | 久久久免费高清视频 | 一区二区视频在线免费观看 | 日韩免费网站 | 性色大片在线观看 | 成全免费观看视频 | 亚洲精品视频免费在线 | 国产精品一区在线观看 | 有码中文字幕在线观看 | 美女精品国产 | 一区二区三区四区五区六区 | 国产精品久久一区二区无卡 | 99热官网 | 久久官网 | 日韩黄色免费电影 | 最新国产福利 | 久久99国产精品自在自在app | 久久免费高清 | 成 人 黄 色 视频免费播放 | 免费在线国产 | 欧美日韩在线看 | 国产一区福利在线 | 一区二区三区影院 | 91成人免费看 | h视频在线看| 97色在线观看免费视频 | 久草在线在线视频 | 亚洲综合色激情五月 | 久久免费试看 | 欧美日韩性视频在线 | 99热手机在线 | 久香蕉 | 99精品热视频只有精品10 | 在线观看中文字幕亚洲 | 成人午夜电影在线 | 久久草网 | 国产一级在线免费观看 | 亚洲精品视频网站在线观看 | 国产精品亚州 | 久草在线高清视频 | 91精品国产成 | 91九色老 | 91av影视| 欧美精品一二三 | 天天天天天天天天操 | 日韩啪啪小视频 | 婷婷六月在线 | 91视视频在线直接观看在线看网页在线看 | 99久久精品免费 | 五月婷婷开心中文字幕 | 综合天天色 | 日韩精品第1页 | 婷婷丁香在线 | 久久字幕 | 中文在线a在线 | 激情欧美一区二区三区免费看 | 国内精品久久久久久久久久久久 | 9ⅰ精品久久久久久久久中文字幕 | 国产日韩欧美视频在线观看 | 久99久精品| 国产精品免费大片视频 | 啪啪小视频网站 | 日韩欧美一区二区三区在线观看 | 91久草视频 | 亚洲精品乱码久久久久久按摩 | 最近2019好看的中文字幕免费 | 亚洲国产高清在线观看视频 | 久久五月婷婷丁香社区 | 久久精品一区二区三 | 欧美日韩超碰 | 中文字幕美女免费在线 | 日韩精品欧美视频 | 欧美一二区在线 | 国内视频在线观看 | 人人超碰在线 | 日韩 在线观看 | 天天天干 | 欧美黄污视频 | 中文字幕av在线播放 | 久久免费视频这里只有精品 | 99电影456麻豆 | 成人久久久电影 | 激情五月婷婷综合网 | 亚洲天堂网在线视频 | 毛片1000部免费看 | 91在线免费播放 | 黄色三级网站 | 日韩av在线小说 | av黄色影院 | а天堂中文最新一区二区三区 | 韩国av在线| 午夜av在线| 亚洲成人av一区二区 | 国产91精品久久久久久 | 日韩理论视频 | 国产永久免费高清在线观看视频 | 精品国产一区二区在线 | 亚洲国产字幕 | 久久影院午夜论 | 国产精品一二 | 亚洲伊人色 | 欧美精品日韩 | 亚洲www天堂com | 日韩激情av在线 | 奇米7777狠狠狠琪琪视频 | 在线小视频你懂的 | 日韩中文字幕国产精品 | 少妇av片 | 日本巨乳在线 | 五月天中文字幕mv在线 | 亚洲电影黄色 | 一区二区三区四区五区在线 | 久久99精品热在线观看 | 久久er99热精品一区二区三区 | 日韩精品视频在线观看免费 | 国产福利资源 | 久久99热精品这里久久精品 | 亚洲草视频 | 超碰在线国产 | 视频在线观看入口黄最新永久免费国产 | 亚洲影视资源 | 久久午夜电影院 | 国产又粗又猛又黄 | 精品视频免费 | 在线视频1卡二卡三卡 | 狠狠地日| 色综合婷婷久久 | 在线免费观看麻豆 | 91九色蝌蚪国产 | 亚洲精品mv在线观看 | 九精品 | 国内精品久久久 | 不卡av电影在线观看 | 国产一区二区在线观看免费 | 97超级碰碰碰碰久久久久 | 在线免费视 | 亚洲aⅴ免费在线观看 | 欧美精品一区二区在线播放 | 精品主播网红福利资源观看 | 97在线观| 伊人天天狠天天添日日拍 | 欧美精品久久久久久久 | 欧美精品黑人性xxxx | 欧美在线观看视频 | 丁香5月婷婷久久 | 日本大片免费观看在线 | 亚洲成a人片77777kkkk1在线观看 | 91亚洲国产 | av在线一级 | 色av婷婷 | www九九热| 337p西西人体大胆瓣开下部 | 国产在线播放一区 | 色综合咪咪久久网 | 国产午夜精品一区二区三区在线观看 | 久久亚洲在线 | 婷婷亚洲最大 | av在线免费播放网站 | 人人天天夜夜 | 超碰在线人人 | 国产成人精品在线观看 | 波多野结衣一区 | 日韩三级免费观看 | 国产在线毛片 | 五月天婷亚洲天综合网精品偷 | 深爱激情五月婷婷 | 精品夜夜嗨av一区二区三区 | 青青射| 日韩高清在线一区二区三区 | 成人av免费在线 | 久久久久国产精品免费免费搜索 | 91精品国产91 | 久久精品资源 | 九九99| 99热精品免费观看 | 青春草免费视频 | 日韩高清毛片 | 99久久精品免费看国产 | 97超碰人人澡人人爱学生 | 99在线观看 | 三级小视频在线观看 | 国产无限资源在线观看 | 色av资源网 | 免费网站在线观看成人 | 九九九九精品 | 午夜123| 欧美日韩亚洲第一页 | 久久国产日韩 | 91中文字幕网| 九九热在线精品视频 | 成人动漫精品一区二区 | 国产日韩精品欧美 | 亚洲视频免费在线 | 亚州精品国产 | 国内揄拍国内精品 | 婷婷中文在线 | 伊甸园av在线| 激情五月婷婷综合网 | 亚洲欧美精品一区 | 国内精品久久久 | 久草国产精品 | 日韩高清激情 | 激情深爱.com | 欧美一级视频在线观看 | 欧美国产一区在线 | 亚洲日韩欧美一区二区在线 | 在线黄色国产电影 | 超碰国产在线观看 | 亚洲在线观看av | 婷婷丁香狠狠爱 | 亚洲国产精品999 | 丁香5月婷婷久久 | 国产美女在线精品免费观看 | 美女久久久久 | av爱干 | 九九九视频精品 | 久久艹在线 | 九九视频免费观看视频精品 | 麻花天美星空视频 | 久久久久久欧美二区电影网 | 性色av一区二区三区在线观看 | 精品久久久一区二区 | 九九九在线观看 | 日本成人中文字幕在线观看 | 免费三级a | 欧美日本啪啪无遮挡网站 | 精品主播网红福利资源观看 | 尤物一区二区三区 | 国产91成人| a级片网站 | 亚洲女欲精品久久久久久久18 | 91久久精品一区二区三区 | 久久国产网 | 精品国产成人在线影院 | 成人av电影免费在线播放 | 天堂在线免费视频 | 99热这里只有精品在线观看 | 成人黄色一级视频 | 免费看的黄色的网站 | 久久免费视频7 | 欧美影院久久 | 99久久久久久久久久 | 亚洲精品乱码久久久久久9色 | 最近日本字幕mv免费观看在线 | 视频在线国产 | 九九九在线观看视频 | 在线v片| 午夜性生活片 | 亚洲一区二区视频在线 | 成人免费观看完整版电影 | 五月综合网 | 999久久 | 精品999在线观看 | 欧美精品久久久久久久亚洲调教 | 色婷婷 亚洲| 五月婷婷在线视频 | 91看片成人 | 亚洲精选99 | 国产在线不卡视频 | 婷婷六月天综合 | 黄色三级网站在线观看 | 免费大片黄在线 | 国产成人精品一区二区三区免费 | 丁香电影小说免费视频观看 | 成全免费观看视频 | www.91成人| 午夜精品一区二区三区免费 | 青青草国产免费 | 综合久久一本 | 最近中文字幕免费大全 | 欧美ⅹxxxxxx| 婷婷午夜天 | 射久久久| 亚洲丁香久久久 | 亚洲春色奇米影视 | 午夜免费福利视频 | 日韩网站在线 | 色婷婷国产精品一区在线观看 | 激情婷婷六月 | 国产精品毛片一区二区在线 | 插婷婷| 日本少妇久久久 | 国产欧美精品在线观看 | www国产一区 | 精品国产一区二区三区男人吃奶 | 三级av免费看 | 成人动漫一区二区三区 | 久久久国产一区二区 | 久久综合中文色婷婷 | 中文在线www| 韩国精品福利一区二区三区 | 日b黄色片 | 欧美日韩国产综合一区二区 | 亚洲精品在线视频观看 | 久久呀 | 中文字幕人成乱码在线观看 | 六月激情久久 | 一级黄色片在线免费看 | 亚洲精品黄色片 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 99精品免费在线观看 | 亚洲 中文 在线 精品 | 久草在线视频网站 | 亚洲一级免费电影 | 国产精品二区在线 | 超碰97在线人人 | 日韩在线视频免费播放 | 成人久久久久 | 天天做天天爱夜夜爽 | 国产成人精品av久久 | 97色噜噜 | 啪啪肉肉污av国网站 | 91色九色| 久久久久日本精品一区二区三区 | 免费观看的av | 久久综合久久综合九色 | 国产福利91精品一区 | 亚洲五月综合 | 超碰日韩| 精品一二三四五区 | 久久蜜臀av | 操操日日 | 成人app在线免费观看 | 亚洲第一香蕉视频 | 中文字幕在线一区二区三区 | 在线va网站 | 天天操天天色综合 | 在线观看视频一区二区三区 | 天天天插| 日韩电影在线看 | 成人aⅴ视频 | 91精品视频免费看 | 99免费看片 | 91九色网址 | 婷婷色婷婷 | 黄色在线免费观看网址 | 狠狠的干狠狠的操 | 欧美激情片在线观看 | 美女免费视频观看网站 | 黄色综合 | 国产高清中文字幕 | 欧美成人手机版 | 久久免费成人网 | 色多多污污| 欧美黑人性爽 | 日韩精品短视频 | 亚洲激情视频在线 | 成人免费在线播放视频 | av福利超碰网站 | 国产成人精品一区二区三区在线观看 | 国产资源在线免费观看 | 欧美性极品xxxx娇小 | 日韩免费一级a毛片在线播放一级 | 日韩中文在线播放 | 麻豆视频国产精品 | 成人一级片视频 | av在线播放不卡 | 在线观看黄色国产 | 欧美日韩性视频 | 欧美色婷 | 天天爽天天做 | 国内精品久久久久久久久 | 午夜精品一区二区三区在线观看 | 国产精品一区二区av日韩在线 | 国产在线中文字幕 | 国产精品久久久电影 | 国产一区二区在线精品 | 日日干日日 | 激情五月综合网 | 亚洲国产精品成人av | 成人免费观看在线视频 | 久久综合免费视频影院 | 一区二区三区四区精品 | 9在线观看免费 | 狠狠色噜噜狠狠 | 特级毛片网 | 亚洲精品乱码久久久久久蜜桃动漫 | 成人免费观看a | 久久久精品国产一区二区电影四季 | 国产一级做a爱片久久毛片a | 亚洲人成网站精品片在线观看 | 久草网站在线 | 国产在线91在线电影 | av综合站| 婷婷精品在线 | 日韩av手机在线观看 | 4hu视频 | 又粗又长又大又爽又黄少妇毛片 | 碰碰影院 | 福利视频导航网址 | 91精品国产一区二区在线观看 | 亚洲精品看片 | 手机看国产毛片 | a视频在线观看 | 深夜国产福利 | 国产高清免费视频 | 欧美日韩国产二区三区 | 狠狠88综合久久久久综合网 | 一级片视频免费观看 | 久久www免费视频 | av看片在线观看 | 伊人天天色 | 久草在线视频网站 | 三级动态视频在线观看 | wwwwwww黄| 国产精品免费一区二区 | 天天人人 | 色吧久久 | 国产一级片免费观看 | 亚洲国产精品999 | 欧美淫aaa免费观看 日韩激情免费视频 | 亚洲一区精品二人人爽久久 | 精品国产精品国产偷麻豆 | 日本少妇视频 | 1区2区视频 | 成人免费观看av | 中文字幕在线观看免费 | 国产欧美综合视频 | 国产成人一级电影 | 一级一片免费视频 | 欧美看片 | 一区二区视频免费在线观看 | 99久久99久久综合 | 黄色一级动作片 | 麻豆国产在线视频 | 国产精品成人免费一区久久羞羞 | 一区 在线 影院 | 国产精品久久久久久久久蜜臀 | 2022中文字幕在线观看 | 日韩欧美高清不卡 | 国产一级二级av | 亚洲高清在线 | 久久久久中文字幕 | 91在线麻豆 | 最近免费观看的电影完整版 | 亚洲热久久 | 久久精品久久精品久久39 | 久久精品视频中文字幕 | av经典在线 | 中文字幕乱在线伦视频中文字幕乱码在线 | 亚洲第一区精品 | 亚洲精品免费在线观看视频 | 综合久久综合久久 | 亚洲人成人在线 | 波多野结衣视频一区二区 | 久久精品播放 | 中文在线a∨在线 | 亚洲在线看 | 日韩在线精品视频 | 国产免费嫩草影院 | 久久成人在线视频 | 中文字幕免费成人 | 亚洲成人av一区 | 亚洲精品在线国产 | 网址你懂的在线观看 | 国产日产在线观看 | 六月色播| 国产黄色一级片在线 | 超碰夜夜| 精品自拍网 | 亚一亚二国产专区 | 国产美腿白丝袜足在线av | 丁香一区二区 | 激情久久久久久久久久久久久久久久 | 精品国产一区二区三区四区在线观看 | 99久久电影 | 亚洲国产精品电影在线观看 | 高清精品在线 | 免费一级特黄录像 | 麻豆91在线| 韩国av在线| 亚洲理论片在线观看 | 色中色综合 | 97超碰色偷偷 | 欧美国产高清 | 日韩欧美69| 人人草人 | 成人黄色影片在线 | 中文字幕在线观看免费高清完整版 | 色婷婷久久久 | 国产精品久久久久久一二三四五 | 国产一二三区在线观看 | 国产一级淫片在线观看 | 一本之道乱码区 | 亚洲不卡在线 | 蜜桃视频在线视频 | 美女福利视频网 | 五月天久久综合网 | 亚洲国产中文字幕在线视频综合 | 91精品导航 | 久久久久国产精品一区二区 | 亚洲在线国产 | 国产精品a级 | 99精品在线观看 | 久久人人添人人爽添人人88v | 久久精品91久久久久久再现 | 色综合天天综合在线视频 | 久久一区国产 | 亚洲资源片 | 黄色在线观看www | www.色婷婷.com| 精品久久影院 | 欧美日韩在线免费观看视频 | 亚洲九九九在线观看 | 特级毛片在线免费观看 | 欧美日韩三级在线观看 | 久久国产精品久久w女人spa | 97狠狠操| 日韩中文字幕在线 | 人人澡超碰碰97碰碰碰软件 | 国产欧美在线一区 | 成人午夜在线电影 | 97人人超 | 91新人在线观看 | 亚洲作爱视频 | 在线婷婷 | 国产成人黄色 | 婷婷国产v亚洲v欧美久久 | 日韩伦理一区二区三区av在线 | 激情电影影院 | 在线播放亚洲激情 | 国产精品女视频 | 中文字幕高清在线 | 一区二区三区四区五区在线视频 | 日韩欧美视频免费在线观看 | 日韩天堂网 | 久久在线观看视频 | 免费观看国产视频 | 天天爱天天操天天射 | 亚洲精品视频免费 | 久久久久久国产精品999 | a电影免费看 | 欧美精品一级视频 | 久久精品国产成人精品 | av中文字幕免费在线观看 | 免费福利在线播放 | 99综合影院在线 | 国产精品手机在线 | 免费看黄色大全 | 97超碰人人模人人人爽人人爱 | 国产精品一区二区免费视频 | 天天综合网入口 | 国产最新91 | 亚洲精品视频一 | 婷婷日韩 | 久久国产乱 | 日韩精品欧美专区 | 91在线视频网址 | 在线观看亚洲精品视频 | 久久这里只有精品23 | 中文在线字幕免费观看 | 天堂资源在线观看视频 | 中文字幕视频免费观看 | 在线免费色 | 成 人 免费 黄 色 视频 | 99re视频在线观看 | 国产在线p| 在线国产精品视频 | 国产99re| 天天射天天干天天操 | 色综合久久综合中文综合网 | 久久tv视频| 久久国产精品色婷婷 | 中文字幕在线专区 | 欧美va天堂va视频va在线 | 午夜精品久久久99热福利 | v片在线看 | 免费在线观看黄 | 一区二区三区在线免费观看 | 尤物97国产精品久久精品国产 | 在线久久 | 久久久久久高潮国产精品视 | 国产96在线视频 | 国产成人精品亚洲日本在线观看 | 日日操天天操夜夜操 | 永久免费av在线播放 | 天天天射 | 亚洲精品国产精品国自产在线 | 中文字幕免费观看 | 国产xxxx | 免费污片 | 日韩一区视频在线 | 青草视频网 | 免费三级黄 | 日韩在线欧美在线 | 亚洲精品免费视频 | 免费观看www视频 | av免费在线播放 | 国产码电影| 在线观看一级视频 | 久草在线资源免费 | 色综合久久88色综合天天人守婷 | 亚洲日本国产精品 | 国产色在线,com | 麻豆免费视频观看 | 麻豆影视在线观看 | 国产精品麻豆视频 | 黄色在线观看www | 日韩免费在线观看网站 | 国产成人av电影在线观看 | 日韩电影一区二区在线 | 亚洲成人高清在线 | 久久视频免费在线 | 欧美国产一区二区 | 久久夜色精品国产欧美乱极品 | 国产999视频在线观看 | 超碰免费在线公开 | 日韩亚洲在线视频 | 免费成人短视频 | 天天操天天舔天天爽 | 亚洲 综合 精品 | 久久人人爽人人爽人人片av免费 | 国产日产av | 国产亲近乱来精品 | 免费av在线网站 | 日韩在线视频观看免费 | 国产精品毛片一区二区在线 | 久草视频播放 | 国产免费av一区二区三区 | 欧美日本不卡 | 91精品国产综合久久福利不卡 | 丁香 婷婷 激情 | 久久精品99国产精品酒店日本 | 2020天天干天天操 | 久久久精品视频成人 | 国产福利av在线 | 欧美色888| 精品国产乱码久久久久 | 国产99精品| 亚洲久草网 | 在线观看视频免费播放 | 伊人黄| 中文字幕一区二区三区久久 | 久久午夜视频 | 91免费视频黄 | 久久精品久久久精品美女 | 日本久久免费电影 | 久久超级碰 | 91在线免费看片 | 中文在线天堂资源 | 91视频 - 114av | www婷婷 | 国产无套精品久久久久久 | 超碰人人91 | 99视频这里有精品 | 最新动作电影 | 国产又黄又爽无遮挡 | 97操操操| 国产高清精品在线 | 丁香婷婷激情 | 在线欧美小视频 | 日韩久久精品一区二区三区 | 久久免费黄色 | 日韩精品欧美专区 | 黄色软件大全网站 | 97电影院在线观看 | av综合网址 | 91亚州| 综合国产在线 | 久久99久久99精品免观看软件 | 国产精品成人一区二区 | 992tv人人草 黄色国产区 | 日日射av | 黄色片亚洲| 国产精品久久人 | 国产 一区二区三区 在线 | 九九九九九九精品 | 91亚洲国产成人 | 久久久免费 | 波多野结衣电影久久 | 97麻豆视频 | 久草在线电影网 | 免费看的视频 | 91av网址 | 深爱激情五月网 | 久久久精品电影 | 精品国产乱码久久久久久三级人 | 欧美粗又大 | 国产精品女人久久久 | 亚洲精品在线观看网站 | 婷婷六月网 | 日韩成人中文字幕 | 国产精品永久免费视频 | 玖玖国产精品视频 | 色九九影院| 婷婷av电影| 91亚洲精品久久久蜜桃 | 国产精品一区二区av麻豆 | 国产精品成人一区二区三区吃奶 | 狠狠色噜噜狠狠狠狠 | 91资源在线 | 国内三级在线 | 亚洲天堂自拍视频 | 我要色综合天天 | 亚洲理论电影网 | 午夜免费在线观看 | 黄色成人av | 四虎成人av | av先锋影音少妇 | 午夜影视剧场 | 91精品第一页 | 全黄网站 | 国产日韩三级 | 免费看片网站91 | 免费av电影网站 | 国产精品免费麻豆入口 | 日韩av一区二区在线 | 国产69精品久久app免费版 | 色综合久久88色综合天天人守婷 | 国产精品美女久久久久久2018 | 国产成人av一区二区三区在线观看 | 色婷婷www | 蜜臀av在线一区二区三区 | 操操操人人人 | 国产一区二区在线免费播放 | 国产一区国产精品 | 国产亚洲激情视频在线 | 五月婷婷亚洲 | 欧美激情综合色 | 蜜臀av性久久久久av蜜臀三区 | 在线观看亚洲国产精品 | 成人午夜免费剧场 | 激情网第四色 | 久久精品国产亚洲a | 久久只精品99品免费久23小说 | 91在线公开视频 | 久久久精品小视频 | 91网址在线看 | 中文字幕第 | 色视频网页 | 超碰在97| 夜夜操网 | 丁香午夜婷婷 | 欧美在线一二 | 亚洲精品字幕 | 久久久久久久久亚洲精品 | 国产免费三级在线观看 | 亚洲精品欧美专区 | 97视频精品 | 不卡日韩av | 永久黄网站色视频免费观看w | 国产一区视频导航 | 久久女同性恋中文字幕 | 久久久精品在线观看 | 伊人五月婷 | 国产二区电影 | 国产黄色大全 | 欧美精品一级视频 | 天天摸日日摸人人看 | 狠狠狠色丁香综合久久天下网 | 亚洲成人av电影在线 | 久久久免费精品视频 | 91少妇精拍在线播放 | 久久国产精品视频 | 国产一区二区高清 | 色在线高清 | 国产精品一区二区精品视频免费看 | freejavvideo日本免费 | 日韩一区精品 | 亚洲经典视频在线观看 | 婷婷国产v亚洲v欧美久久 | www五月婷婷 | 亚洲精品午夜一区人人爽 | 国产在线不卡 | 一本一本久久a久久精品牛牛影视 | 99精品一区二区 | 久久久综合 | 高清视频一区二区三区 | 亚洲精品美女久久久 | 日韩电影精品一区 | 狠狠色狠狠色 | 亚洲黄色在线观看 | 毛片一级免费一级 | 成人av电影在线观看 | 中文字幕视频观看 | 久久成人国产精品入口 | 日韩免费看视频 | 国产高清第一页 | 国产在线观看一 | 超碰人人在线观看 | 天天舔天天搞 | 91私密保健 | 精品1区2区3区 |