黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

ios 多線(xiàn)程開(kāi)發(fā)(三)Run Loops

系統(tǒng) 2308 0

Run loops是線(xiàn)程相關(guān)的一些基本東西。一個(gè)run loop是一個(gè)處理消息的循環(huán)。用來(lái)處理計(jì)劃任務(wù)或者收到的事件。run loop的作用是在有事做的時(shí)候保持線(xiàn)程繁忙,沒(méi)事的時(shí)候讓線(xiàn)程掛起。

Run loop的管理并不是完全自動(dòng)的。你仍然需要設(shè)計(jì)代碼來(lái)在合適的時(shí)候啟動(dòng)run loop來(lái)相應(yīng)事件。Cocoa和Core Foundation都提供了run loop對(duì)象來(lái)配置和管理run loop。程序并不需要?jiǎng)?chuàng)建這些對(duì)象,每個(gè)線(xiàn)程,包括主線(xiàn)程都有一個(gè)對(duì)應(yīng)的run loop對(duì)象。只有非主線(xiàn)程需要明確的啟動(dòng)它的run loop。自動(dòng)啟動(dòng)主線(xiàn)程的run loop是app框架啟動(dòng)流程的一部分。

下面會(huì)介紹一下run loop以及如何配置它。

?

Run Loop 詳解

Run loop正如它名字所說(shuō)的一樣。是線(xiàn)程進(jìn)入的一個(gè)環(huán),用來(lái)處理接收和處理事件。你需要寫(xiě)代碼來(lái)控制run loop實(shí)際的循環(huán),也就是說(shuō),你需要提供驅(qū)動(dòng)run loop的while或者for循環(huán)。在循環(huán)中,使用run loop對(duì)象來(lái)處理事件,接收事件以及調(diào)用對(duì)應(yīng)的處理程序。

run loop接收兩種源。輸入源傳遞異步的消息,通常是其他線(xiàn)程或其他程序發(fā)送過(guò)來(lái)的。定時(shí)器源傳遞同步事件,在一個(gè)計(jì)劃的時(shí)間或重復(fù)的時(shí)間間隔產(chǎn)生。兩種類(lèi)型都使用程序指定的處理程序來(lái)處理事件。

下面的圖展示了run loop和它的消息源的概念。輸入源傳遞異步事件給對(duì)應(yīng)的處理程序并且導(dǎo)致runUntilDate:方法退出。Timer發(fā)送事件給對(duì)應(yīng)的處理程序但是不會(huì)導(dǎo)致run loop退出

? ios 多線(xiàn)程開(kāi)發(fā)(三)Run Loops

另外,run loop有時(shí)候會(huì)發(fā)出廣播。注冊(cè)run-loop observers可以接收到這些廣播然后來(lái)在線(xiàn)程上做你想做的事。可以使用Core Foundation來(lái)在線(xiàn)程上設(shè)置run-loop observers

?

Run Loop Modes

一個(gè)run loop mode是一個(gè)需要監(jiān)控和處理的輸入源和定時(shí)器的集合。每次運(yùn)行run loop,都可以設(shè)置一個(gè)類(lèi)型來(lái)運(yùn)行。在這種情況下,只有和這種類(lèi)型相關(guān)的事件才會(huì)被接收到。(也就是說(shuō),只有和這種類(lèi)型相關(guān)的事件才會(huì)通知run loop的執(zhí)行程序。)其他類(lèi)型相關(guān)的源會(huì)掛起直到有對(duì)應(yīng)的類(lèi)型來(lái)接收它。

代碼中使用名字來(lái)標(biāo)識(shí)類(lèi)型。Cocoa和Core Foundation都定義了一個(gè)默認(rèn)類(lèi)型以及其他幾個(gè)通常用到的類(lèi)型,也是通過(guò)字符串來(lái)標(biāo)識(shí)他們的。你可以給類(lèi)型名字指定一個(gè)字符串來(lái)自定義類(lèi)型。雖然你可以自定義任何名字,但是類(lèi)型的內(nèi)容并不是任意的。你必須要添加一個(gè)或多個(gè)輸入源,定時(shí)器或run-loop observer來(lái)讓他們有意義。

使用類(lèi)型來(lái)過(guò)濾run loop的事件。大多數(shù)時(shí)候,都會(huì)運(yùn)行系統(tǒng)默認(rèn)的類(lèi)型。modal panel可能會(huì)使用"modal"類(lèi)型。在這種類(lèi)型下,只有和modal pannel相關(guān)的事件會(huì)發(fā)送。對(duì)于其他線(xiàn)程,可以使用自定義的類(lèi)型來(lái)過(guò)濾低優(yōu)先級(jí)的源。

提示:類(lèi)型是根據(jù)事件源的類(lèi)型,而不是事件的類(lèi)型。比如,你不僅僅需要只需要鼠標(biāo)按下或鍵盤(pán)事件。可能還需要監(jiān)聽(tīng)端口,定時(shí)器掛起,或源的改變等。

下面是Cocoa和Core Foundation預(yù)定義的一些類(lèi)型。

Mode 名字 描述
Defaule

NSDefaultRunLoopMode(Cocoa)

kCFRunLoopDefaultMode(Core Foundation)

默認(rèn)類(lèi)型是大部分操作用到的。大多數(shù)時(shí)候都使用這種類(lèi)型來(lái)啟動(dòng)run loop以及配置輸入源。

Connection NSConnectionReplyMode(Cocoa)

Cocoa使用這種類(lèi)型來(lái)監(jiān)測(cè)NSCOnnection對(duì)象返回。很少用到這種類(lèi)型。

Modal NSModalPannelRunLoopMode(Cocoa)

Cocoa使用這種類(lèi)型來(lái)標(biāo)識(shí)modal pannels相關(guān)的事件。

Event tracking NSEventTrackingRunLoopMode(Cocoa)

Cocoa使用這種類(lèi)型來(lái)監(jiān)測(cè)鼠標(biāo)拖動(dòng)以及其他類(lèi)型的用戶(hù)界面操作追蹤。

Common modes

NSRunLoopCommonModes(Cocoa)

kCFRunLoopCommonModes(Core Foundation)

這是常用類(lèi)型的集合。指定一個(gè)輸入源和這個(gè)類(lèi)型相關(guān)也就是指定它和這個(gè)集合的類(lèi)型相關(guān)。對(duì)于Cocoa程序,這個(gè)集合包括default,modal,以及event tracking類(lèi)型。Core Foundation只包括default類(lèi)型。可以使用CFRunLoopAddCommonMode方法來(lái)添加自定義類(lèi)型到這個(gè)集合

?

輸入源

輸入源異步的發(fā)送消息到線(xiàn)程。事件的源取決于輸入源,總體上有兩種類(lèi)型。基于Port的源模擬程序的port源,自定義源模擬自定義事件。不過(guò)run loop關(guān)心的并不是基于port或自定義事件。系統(tǒng)基本上兩種都會(huì)實(shí)現(xiàn)。唯一的不同是他們?nèi)绾伟l(fā)出的。基于port的是自動(dòng)由內(nèi)核發(fā)出的,自定義的源是由其他線(xiàn)程發(fā)出的。

創(chuàng)建輸入源時(shí),可以指定一個(gè)或多個(gè)run loop類(lèi)型。類(lèi)型決定了輸入源在什么時(shí)候被監(jiān)測(cè)到。大多數(shù)時(shí)候,run loop在默認(rèn)類(lèi)型下運(yùn)行,不過(guò)也可以指定類(lèi)型。如果輸入源不是當(dāng)前監(jiān)測(cè)的類(lèi)型,任何產(chǎn)生的事件都會(huì)掛起,直到有對(duì)應(yīng)的類(lèi)型能接收它。

下面介紹一些輸入源

?

Port-Based Sources

Cocoa和Core Foundation提供了創(chuàng)建port-based源的相應(yīng)對(duì)象和方法。例如,在Cocoa,基本上不用直接創(chuàng)建輸入源。只需要?jiǎng)?chuàng)建一個(gè)port對(duì)象然后使用NSPort的方法把它加到run loop中。port對(duì)象會(huì)處理創(chuàng)建和配置輸入源的事情。

?

自定義輸入源

創(chuàng)建自定義輸入源,需要使用Core Foundation中CFRunLoopSourceRef相關(guān)的方法。可以給輸入源配置幾個(gè)回調(diào)方法。Core Foundation會(huì)在不同點(diǎn)回調(diào)這些方法來(lái)配置輸入源,處理事件,以及在從run loop移除時(shí)銷(xiāo)毀它。

另外如果要定義收到事件的行為的話(huà),需要定義事件的分發(fā)機(jī)制。這部分在另一個(gè)線(xiàn)程上運(yùn)行,它負(fù)責(zé)給輸入源提供數(shù)據(jù)并且在數(shù)據(jù)準(zhǔn)備好后通知它。事件的分發(fā)之際又你決定,但是不要弄的太復(fù)雜。

?

Cocoa Perform Selector Sources

對(duì)于port-based sources,Cocoa定義了一個(gè)自定義的源來(lái)在任何線(xiàn)程上執(zhí)行方法。和port-based源相似的是,執(zhí)行方法的請(qǐng)求在目標(biāo)線(xiàn)程上被序列化,這樣可以減輕多個(gè)方法在同一個(gè)線(xiàn)程上被調(diào)用的同步問(wèn)題。和port-based源不同的是,它執(zhí)行后會(huì)從run loop把自己移除掉。

在另一個(gè)線(xiàn)程上執(zhí)行方法時(shí),目標(biāo)線(xiàn)程必須要有一個(gè)活著的run loop。對(duì)于你創(chuàng)建的線(xiàn)程,這意味著它會(huì)等到啟動(dòng)run loop時(shí)才執(zhí)行。因?yàn)橹骶€(xiàn)程會(huì)自動(dòng)啟動(dòng)它的run loop,因此在程序調(diào)用applicationDidFinishLaunching:后就可以開(kāi)始調(diào)用這個(gè)方法了。run loop會(huì)一次調(diào)用所有計(jì)劃的方法,而不是一個(gè)循環(huán)調(diào)用一個(gè)。

下面列出了NSObject在另一個(gè)線(xiàn)程上執(zhí)行方法的方法。由于是在NSObject中定義的,所以可以在任何能訪(fǎng)問(wèn)Objective-C對(duì)象的線(xiàn)程中調(diào)用,包括POSIX線(xiàn)程。這些方法不會(huì)創(chuàng)建新線(xiàn)程來(lái)執(zhí)行他們。

方法 描述

performSelectorOnMainThread:withObject:waitUntilDone:

performSelectorOnMainThread:withObject:waitUntilDone:modes:

在主線(xiàn)程的下一個(gè)run loop中執(zhí)行指定的方法。這個(gè)方法可以阻塞當(dāng)前線(xiàn)程直到指定的方法執(zhí)行完

performSelector:onThread:withObject:waitUntilDone:

performSelector:onThread:withObject:waitUntilDone:modes:

在指定的線(xiàn)程上執(zhí)行指定的方法。可以阻塞房前線(xiàn)程直到指定的方法執(zhí)行完

performSelector:withObject:afterDelay:

performSelector:withObject:afterDelay:inModes:

在當(dāng)前線(xiàn)程的下一個(gè)run loop中執(zhí)行指定方法并且可以設(shè)置延時(shí)時(shí)間。由于等到下個(gè)run loop才會(huì)執(zhí)行,所以這些方法默認(rèn)的有一個(gè)最小的延時(shí)時(shí)間。隊(duì)列中的多個(gè)方法會(huì)根據(jù)隊(duì)列中的位置一個(gè)一個(gè)的執(zhí)行。

cancelPreviousPerformRequestsWithTarget:

cancelPreviousPerformRequestsWithTarget:selector:object:

可以取消使用 performSelector:withObject:afterDelay: performSelector:withObject:afterDelay:inModes: 發(fā)送給當(dāng)前線(xiàn)程的消息。

?

定時(shí)器源

定時(shí)器源會(huì)在預(yù)設(shè)的時(shí)間給線(xiàn)程同步的發(fā)送事件。定時(shí)器是線(xiàn)程通知自己做一些事情的一種方法。例如,搜索框可以用定時(shí)器來(lái)實(shí)現(xiàn)用戶(hù)輸入內(nèi)容后自動(dòng)搜索。延時(shí)可以讓用戶(hù)在開(kāi)始搜索前輸入想輸入的內(nèi)容。

雖然它產(chǎn)生基于時(shí)間的消息,定時(shí)器并不是實(shí)時(shí)的。和輸入源一樣,定時(shí)器也是和run loop指定的類(lèi)型相關(guān)。如果定時(shí)器不在當(dāng)前run loop監(jiān)測(cè)的類(lèi)型中,它會(huì)一直等到支持定時(shí)器的run loop執(zhí)行時(shí)才會(huì)觸發(fā)。同樣的,如果定時(shí)器在run loop執(zhí)行的過(guò)程中觸發(fā)了,定時(shí)器會(huì)等到下一個(gè)run loop才能實(shí)行相應(yīng)的方法。如果run loop沒(méi)有運(yùn)行,定時(shí)器就根本不會(huì)觸發(fā)。

?

Run Loop Observers

和源不同,源是在同步或異步事件產(chǎn)生是觸發(fā),run loop observers在run loop指定的特殊點(diǎn)觸發(fā)。可以使用run loop observsers來(lái)讓線(xiàn)程準(zhǔn)備處理事件或讓線(xiàn)程準(zhǔn)備掛起。可以把run loop observers和下面的事件關(guān)聯(lián)起來(lái):

  • run loop的入口
  • run loop將要開(kāi)始執(zhí)行定時(shí)器
  • run loop將要執(zhí)行一個(gè)輸入源
  • run loop將要掛起
  • run loop被喚醒
  • run loop退出

可以使用Core Foundation來(lái)添加run loop監(jiān)聽(tīng)者。要?jiǎng)?chuàng)建一個(gè)run loop監(jiān)聽(tīng)者,需要?jiǎng)?chuàng)建一個(gè)CFRunLoopObserverRef實(shí)例。這個(gè)類(lèi)型會(huì)追蹤指定的回調(diào)方法以及感興趣的事件。

和定時(shí)器相似,run loop監(jiān)聽(tīng)者可以被使用一次或重復(fù)使用。一次性的監(jiān)聽(tīng)者會(huì)在觸發(fā)后從run loop移除,重復(fù)使用的會(huì)保留。使用一次還是重復(fù)使用是在創(chuàng)建時(shí)指定的。

?

Run Loop事件順序

每次運(yùn)行時(shí),線(xiàn)程的run loop會(huì)執(zhí)行預(yù)定義的事件并且給每個(gè)監(jiān)聽(tīng)者發(fā)廣播。調(diào)用的順序時(shí)固定的:

  1. 通知監(jiān)聽(tīng)者run loop進(jìn)入了
  2. 通知監(jiān)聽(tīng)者任何準(zhǔn)備好的定時(shí)器將要觸發(fā)
  3. 通知監(jiān)聽(tīng)者任何非基于port的輸入源將要觸發(fā)
  4. 觸發(fā)任何非基于port的事件
  5. 如果有任何基于port事件將要觸發(fā),處理事件,然后到第9步
  6. 通知監(jiān)聽(tīng)者線(xiàn)程將要掛起
  7. 把線(xiàn)程掛起直到下面的事件之一觸發(fā)
    • 一個(gè)基于port的消息觸發(fā)
    • 定義定時(shí)器觸發(fā)
    • run loop設(shè)置的超時(shí)時(shí)間到了
    • run loop被明確的喚醒
  8. 通知監(jiān)聽(tīng)者線(xiàn)程被喚醒
  9. 處理需要處理的事件
    • 如果一個(gè)用戶(hù)定義的定時(shí)器觸發(fā),執(zhí)行定時(shí)器然后重啟消息循環(huán)。跳轉(zhuǎn)到第2步
    • 如果一個(gè)事件源觸發(fā),分發(fā)事件
    • 如果run loop被明確的喚醒但是還沒(méi)有超時(shí),重啟消息循環(huán)。跳轉(zhuǎn)到第2步
  10. 通知所有的監(jiān)聽(tīng)者run loop退出

由于定時(shí)器和輸入源的監(jiān)聽(tīng)者廣播是在事件執(zhí)行前發(fā)出的,廣播的事件和真實(shí)執(zhí)行的事件可能會(huì)有時(shí)間差。如果這個(gè)時(shí)間差很重要,可以使用sleep和awake-from-sleep廣播來(lái)修正真實(shí)時(shí)間。

由于定時(shí)器和其他周期性的事件是在run loop運(yùn)行時(shí)分發(fā)的,破壞run loop會(huì)破會(huì)消息分發(fā)。

?

什么時(shí)候應(yīng)該使用Run Loop

程序中只有明確的需要使用另外一個(gè)線(xiàn)程時(shí)才會(huì)需要run loop。主線(xiàn)程的run loop是程序的基礎(chǔ)部分之一。所以,app的框架提供了運(yùn)行主線(xiàn)程以及自動(dòng)啟動(dòng)run loop的代碼。UIApplication的run方法啟動(dòng)了主循環(huán)。如果使用Xcode工程模版創(chuàng)建程序,根本步需要調(diào)用這些方法。

對(duì)于輔助線(xiàn)程,你需要決定是否需要run loop, 如果需要的話(huà)需要自己配置并啟動(dòng)它。有些時(shí)候完全步需要run loop。比如,創(chuàng)建一個(gè)線(xiàn)程來(lái)執(zhí)行一個(gè)長(zhǎng)時(shí)間或指定好的任務(wù),這時(shí)候根本不需要啟動(dòng)run loop。Run loop在需要很多線(xiàn)程間交互的時(shí)候使用。比如,需要做下面的事情時(shí):

  • 使用基于port或自定義的源來(lái)進(jìn)行線(xiàn)程間通訊
  • 在線(xiàn)程上使用定時(shí)器
  • 在Cocoa程序中使用performSelector...方法
  • 執(zhí)行周期性的任務(wù)

如果選擇使用run loop,配置和使用是相對(duì)簡(jiǎn)單的。在整個(gè)多線(xiàn)程編程過(guò)程中,最好是計(jì)劃好需要哪些輔助線(xiàn)程。線(xiàn)程最好是讓它正常結(jié)束而不是強(qiáng)行中止。

?

使用Run Loop對(duì)象

run loop對(duì)象提供了添加輸入源,定時(shí)器,run-loop obervers以及運(yùn)行它的接口。每個(gè)線(xiàn)程都有一個(gè)對(duì)應(yīng)的run loop對(duì)象。在Cocoa中,這個(gè)對(duì)象是一個(gè)NSRunLoop類(lèi)實(shí)例。在底層程序中,它是指向CFRunLoopRef的指針。

?

獲取Run Loop對(duì)象

要獲取當(dāng)前線(xiàn)程的run loop對(duì)象,可以使用下面的方法:

  • 在Cocoa程序中,使用NSRunLoop的currentRunLoop方法來(lái)獲得NSRunLoop對(duì)象。
  • 使用CFRunLoopGetCurrent方法。

雖然他們不是完全相同的,但是也可以通過(guò)NSRunLoop對(duì)象獲得CFRunLoopRef。NSRunLoop類(lèi)定義了一個(gè)getCGRunLoop方法來(lái)返回一個(gè)CGRunLoopRef類(lèi)型。由于兩種對(duì)象指向同一個(gè)run loop,因此NSRunLoop對(duì)象和CFRunLoopRef可以混合使用。

?

配置Run Loop

在輔助線(xiàn)程中使用run loop之前,需要至少加入一個(gè)輸入源或定時(shí)器。如果run loop沒(méi)有東西要監(jiān)控,它運(yùn)行時(shí)會(huì)立刻退出。

除了添加源以外,也可以添加run loop監(jiān)聽(tīng)者來(lái)監(jiān)測(cè)run loop運(yùn)行的狀態(tài)。創(chuàng)建run loop監(jiān)聽(tīng)者,需要?jiǎng)?chuàng)建一個(gè)CFRunLoopObserverRef類(lèi)型,然后使用CGRunLoopAddObserver方法添加到run loop。就算是Cocoa程序,run loop監(jiān)聽(tīng)者也需要使用Core Foundation來(lái)創(chuàng)建。

下面展示了創(chuàng)建run loop監(jiān)聽(tīng)者的主要程序。

      - (
      
        void
      
      
        )threadMain

{

    
      
      
        //
      
      
         The application uses garbage collection, so no autorelease pool is needed.
      
      

    NSRunLoop* myRunLoop =
      
         [NSRunLoop currentRunLoop];

 

    
      
      
        //
      
      
         Create a run loop observer and attach it to the run loop.
      
      

    CFRunLoopObserverContext  context = {
      
        0
      
      
        , self, NULL, NULL, NULL};

    CFRunLoopObserverRef    observer 
      
      =
      
         CFRunLoopObserverCreate(kCFAllocatorDefault,

            kCFRunLoopAllActivities, YES, 
      
      
        0
      
      , &myRunLoopObserver, &
      
        context);

 

    
      
      
        if
      
      
         (observer)

    {

        CFRunLoopRef    cfLoop 
      
      =
      
         [myRunLoop getCFRunLoop];

        CFRunLoopAddObserver(cfLoop, observer, kCFRunLoopDefaultMode);

    }

 

    
      
      
        //
      
      
         Create and schedule the timer.
      
      

    [NSTimer scheduledTimerWithTimeInterval:
      
        0.1
      
      
         target:self

                selector:@selector(doFireTimer:) userInfo:nil repeats:YES];

 

    NSInteger    loopCount 
      
      = 
      
        10
      
      
        ;

    
      
      
        do
      
      
        

    {

        
      
      
        //
      
      
         Run the run loop 10 times to let the timer fire.
      
      

        [myRunLoop runUntilDate:[NSDate dateWithTimeIntervalSinceNow:
      
        1
      
      
        ]];

        loopCount
      
      --
      
        ;

    }

    
      
      
        while
      
      
         (loopCount);

}
      
    

如果是配置長(zhǎng)時(shí)間存活的線(xiàn)程,最好是添加一個(gè)輸入源來(lái)接收消息。雖然可以只添加一個(gè)定時(shí)器,一旦定時(shí)器觸發(fā)后,如果定時(shí)器無(wú)效了,就會(huì)導(dǎo)致run loop退出。添加重復(fù)的定時(shí)器可以讓run loop一直運(yùn)行,但是會(huì)周期性的喚醒線(xiàn)程。相對(duì)來(lái)說(shuō),輸入源會(huì)等待事件發(fā)生,直到事件發(fā)生時(shí)才喚醒線(xiàn)程。

?

啟動(dòng)Run Loop

只有輔助線(xiàn)程才需要我們啟動(dòng)run loop。run loop必須要有一個(gè)輸入源或定時(shí)器。如果沒(méi)有,run loop會(huì)立刻退出。

有幾種方式啟動(dòng)run loop,包括:

  • 無(wú)條件的
  • 設(shè)置一個(gè)時(shí)間限制
  • 指定一個(gè)類(lèi)型

無(wú)條件的進(jìn)入run loop是最簡(jiǎn)單的,同時(shí)也是最不推薦的。無(wú)條件的啟動(dòng)run loop會(huì)讓線(xiàn)程進(jìn)入一個(gè)死循環(huán),會(huì)讓你基本無(wú)法控制run loop。可以添加刪除輸入源和定時(shí)器,但是想要停止run loop的方法只能強(qiáng)行殺掉它。

相對(duì)于無(wú)條件的運(yùn)行,更好的方式是設(shè)置一個(gè)時(shí)間限制。設(shè)置一個(gè)時(shí)間限制后,run loop會(huì)運(yùn)行到有事件觸發(fā)活著到達(dá)設(shè)置的時(shí)間。如果有事件觸發(fā),會(huì)分發(fā)事件然后退出run loop。你可以在代碼中重啟run loop來(lái)等待下一個(gè)事件。如果設(shè)置的時(shí)間到了,可以見(jiàn)到的重啟run loop或使用這個(gè)時(shí)間做點(diǎn)其他事。

除了設(shè)置時(shí)間限制外,也可以給run loop指定一種類(lèi)型。類(lèi)型和超時(shí)并不是互斥的,他們可以同時(shí)被使用。類(lèi)型用來(lái)限制輸入源的類(lèi)型。

下面展示一個(gè)線(xiàn)程的入口框架。主要是添加輸入源和定時(shí)器后,重復(fù)的調(diào)用run loop來(lái)接收消息。每次run loop返回時(shí),查看是否到達(dá)了結(jié)束的條件。

      - (
      
        void
      
      
        )skeletonThreadMain

{

    
      
      
        //
      
      
         Set up an autorelease pool here if not using garbage collection.
      
      

    BOOL done =
      
         NO;

 

    
      
      
        //
      
      
         Add your sources or timers to the run loop and do any other setup.
      
      
        do
      
      
        

    {

        
      
      
        //
      
      
         Start the run loop but return after each source is handled.
      
      

        SInt32    result = CFRunLoopRunInMode(kCFRunLoopDefaultMode, 
      
        10
      
      
        , YES);

 

        
      
      
        //
      
      
         If a source explicitly stopped the run loop, or if there are no

        
      
      
        //
      
      
         sources or timers, go ahead and exit.
      
      
        if
      
       ((result == kCFRunLoopRunStopped) || (result ==
      
         kCFRunLoopRunFinished))

            done 
      
      =
      
         YES;

 

        
      
      
        //
      
      
         Check for any other exit conditions here and set the

        
      
      
        //
      
      
         done variable as needed.
      
      
            }

    
      
      
        while
      
       (!
      
        done);

 

    
      
      
        //
      
      
         Clean up code here. Be sure to release any allocated autorelease pools.
      
      

}
    

run loop是可以遞歸的使用的。也就是說(shuō),可以在輸入源或定時(shí)器的處理程序中調(diào)用CFRunLoopRun,CFRunLoopRunInMode等方法。

?

退出Run Loop

有兩種方式可以讓run loop收到事件前退出

  • 配置run loop的超時(shí)時(shí)間
  • 主動(dòng)讓run loop停止

如果可以的話(huà),最好是使用超時(shí)時(shí)間。指定超時(shí)時(shí)間可以讓run loop在退出前完成它所有應(yīng)該做的事,包括給監(jiān)聽(tīng)者發(fā)送廣播。

明確的使用CFRunLoopStop停止run loop和超時(shí)相似。run loop也會(huì)把需要發(fā)送的廣播發(fā)送給監(jiān)聽(tīng)者。不同的事這種方法主要用在使用無(wú)條件啟動(dòng)的run loop。

雖然刪除Run Loop的輸入源和定時(shí)器也會(huì)導(dǎo)致run loop退出,但是不是很靠譜。系統(tǒng)也許會(huì)自動(dòng)添加一些輸入源。可能代碼沒(méi)有意識(shí)到這些輸入源,他們可能是無(wú)法移除的,這會(huì)導(dǎo)致run loop無(wú)法退出。

?

線(xiàn)程安全以及Run Loop對(duì)象

線(xiàn)程安全取決于你使用什么API來(lái)維護(hù)run loop。Core Foundation中的方法整體上都是線(xiàn)程安全的并且可以在任何線(xiàn)程調(diào)用。如果是做改變r(jià)un loop的配置的操作,最好還是在run loop所屬的線(xiàn)程做比較好。

Cocoa的NSRunLoop類(lèi)并沒(méi)有繼承Core Foundation的線(xiàn)程安全部分。如果是使用NSRunLoop類(lèi)來(lái)修改run loop,應(yīng)該在run loop所屬的線(xiàn)程上做。在另一個(gè)線(xiàn)程上給run loop添加輸入源或定時(shí)器可能會(huì)導(dǎo)致crash或其他異常。

?

配置Run Loop源

自定義輸入源

創(chuàng)建自定義源包括下面一些內(nèi)容:

  • 輸入源需要執(zhí)行的信息
  • 感興趣的客戶(hù)如何與輸入源交互
  • 處理客戶(hù)請(qǐng)求的處理程序
  • 取消輸入源的方法
  • 由于是自定義的輸入源來(lái)處理自定義的信息,所有實(shí)際的配置就很靈活了。調(diào)度,處理,取消流程是自定義源的主要流程。大多數(shù)其他行為都在這幾個(gè)方法之外。比如,什么時(shí)候傳遞數(shù)據(jù)什么時(shí)候和其他線(xiàn)程交互由你決定。

下面的圖展示了一個(gè)簡(jiǎn)單的自定義源。程序的主線(xiàn)程維護(hù)了一個(gè)輸入源的引用,輸入源的命令緩沖區(qū),以及輸入源所在的run loop。當(dāng)主線(xiàn)程有工作交給工作線(xiàn)程時(shí),它把命令和所需的數(shù)據(jù)一起發(fā)到命令緩沖區(qū)來(lái)讓工作線(xiàn)程開(kāi)始工作。(由于主線(xiàn)程和工作線(xiàn)程都能訪(fǎng)問(wèn)命令緩沖區(qū),所以訪(fǎng)問(wèn)必須是同步的。)命令發(fā)送之后,主線(xiàn)程會(huì)給輸入源發(fā)送一個(gè)信號(hào)來(lái)喚醒工作線(xiàn)程的run loop。當(dāng)收到喚醒命令后,run loop調(diào)用輸入源的處理程序來(lái)處理命令緩沖區(qū)中的命令。

ios 多線(xiàn)程開(kāi)發(fā)(三)Run Loops

?

定義輸入源

定義輸入源需要使用Core Foundation來(lái)配置以及和run loop交互。雖然基本的處理程序是基于C的方法,也可以使用Objective-C或C++來(lái)封裝。

下面展示了一個(gè)輸入源的定義。RunLoopSource對(duì)象管理一個(gè)命令緩沖區(qū)并且用它來(lái)接收其他線(xiàn)程的消息。也展示了一個(gè)RunLoopContext對(duì)象的定義,它只是一個(gè)把RunLoopSource對(duì)象和run loop對(duì)象的引用傳遞給主線(xiàn)程的容器。

      
        @interface
      
      
         RunLoopSource : NSObject

{

    CFRunLoopSourceRef runLoopSource;

    NSMutableArray
      
      *
      
         commands;

}

 


      
      - (
      
        id
      
      
        )init;


      
      - (
      
        void
      
      
        )addToCurrentRunLoop;


      
      - (
      
        void
      
      
        )invalidate;

 


      
      
        //
      
      
         Handler method
      
      

- (
      
        void
      
      
        )sourceFired;

 


      
      
        //
      
      
         Client interface for registering commands to process
      
      

- (
      
        void
      
      )addCommand:(NSInteger)command withData:(
      
        id
      
      
        )data;


      
      - (
      
        void
      
      
        )fireAllCommandsOnRunLoop:(CFRunLoopRef)runloop;

 


      
      
        @end
      
      
        //
      
      
         These are the CFRunLoopSourceRef callback functions.
      
      
        void
      
       RunLoopSourceScheduleRoutine (
      
        void
      
       *
      
        info, CFRunLoopRef rl, CFStringRef mode);


      
      
        void
      
       RunLoopSourcePerformRoutine (
      
        void
      
       *
      
        info);


      
      
        void
      
       RunLoopSourceCancelRoutine (
      
        void
      
       *
      
        info, CFRunLoopRef rl, CFStringRef mode);

 


      
      
        //
      
      
         RunLoopContext is a container object used during registration of the input source.
      
      
        @interface
      
      
         RunLoopContext : NSObject

{

    CFRunLoopRef        runLoop;

    RunLoopSource
      
      *
      
                source;

}

@property (
      
      
        readonly
      
      
        ) CFRunLoopRef runLoop;

@property (
      
      
        readonly
      
      ) RunLoopSource*
      
         source;

 


      
      - (
      
        id
      
      )initWithSource:(RunLoopSource*
      
        )src andLoop:(CFRunLoopRef)loop;


      
      
        @end
      
    

雖然使用Objectice-C代碼管理輸入源的自定義數(shù)據(jù),把輸入源和run loop關(guān)聯(lián)仍然需要c回調(diào)方法。第一個(gè)被調(diào)用的方法是把它和run loop關(guān)聯(lián)起來(lái)。由于這個(gè)輸入源只有一個(gè)客戶(hù)端(主線(xiàn)程),它調(diào)用計(jì)劃方來(lái)發(fā)送消息來(lái)注冊(cè)到線(xiàn)程上。當(dāng)代理需要和輸入源通訊時(shí),使用RunLoopContext對(duì)象中的信息就可以了。

      
        void
      
       RunLoopSourceScheduleRoutine (
      
        void
      
       *
      
        info, CFRunLoopRef rl, CFStringRef mode)

{

    RunLoopSource
      
      * obj = (RunLoopSource*
      
        )info;

    AppDelegate
      
      *   del =
      
         [AppDelegate sharedAppDelegate];

    RunLoopContext
      
      * theContext =
      
         [[RunLoopContext alloc] initWithSource:obj andLoop:rl];

 

    [del performSelectorOnMainThread:@selector(registerSource:)

                                withObject:theContext waitUntilDone:NO];

}
      
    

最重要的回調(diào)過(guò)程之一是,當(dāng)輸入源觸發(fā)時(shí)處理自定義的數(shù)據(jù)。下面展示了處理RunLoopSource對(duì)象相關(guān)的回調(diào)。這個(gè)方法只是簡(jiǎn)單的把請(qǐng)求轉(zhuǎn)發(fā)給sourceFired方法,它會(huì)執(zhí)行命令緩沖區(qū)中的命令。

      
        void
      
       RunLoopSourcePerformRoutine (
      
        void
      
       *
      
        info)

{

    RunLoopSource
      
      *  obj = (RunLoopSource*
      
        )info;

    [obj sourceFired];

}
      
    

如果你有調(diào)用CFRunLoopSourceInvalidate方法來(lái)移除輸入源,系統(tǒng)會(huì)調(diào)用輸入源的取消操作。可以在這個(gè)時(shí)候通知客戶(hù)端將要無(wú)效,客戶(hù)端需要移除對(duì)它的引用。下面展示了RunLoopSource對(duì)象注冊(cè)的取消回調(diào)方法。這個(gè)方法發(fā)送RunLoopContext對(duì)象給程序的代理,這次時(shí)通知他們移除引用

      
        void
      
       RunLoopSourceCancelRoutine (
      
        void
      
       *
      
        info, CFRunLoopRef rl, CFStringRef mode)

{

    RunLoopSource
      
      * obj = (RunLoopSource*
      
        )info;

    AppDelegate
      
      * del =
      
         [AppDelegate sharedAppDelegate];

    RunLoopContext
      
      * theContext =
      
         [[RunLoopContext alloc] initWithSource:obj andLoop:rl];

 

    [del performSelectorOnMainThread:@selector(removeSource:)

                                withObject:theContext waitUntilDone:YES];

}
      
    

?

在Run Loop上配置輸入源

下面是RunLoopSource類(lèi)的init和addToCurrentRunLoop方法。init方法創(chuàng)建一個(gè)CGRunLoopSourceRef類(lèi)型是實(shí)際被關(guān)聯(lián)到run loop的。它返回它自己也就是RunLoopSource對(duì)象,這樣外面可以有一個(gè)指向?qū)ο蟮闹羔槨L砑拥骄€(xiàn)程的工作直到工作線(xiàn)程調(diào)用addToCurrentRUnLoop方法后才會(huì)生效,那時(shí)候RunLoopSourceScheduleRoutine回調(diào)方法會(huì)被調(diào)用。只要這個(gè)源加到run loop上之后,線(xiàn)程就可以運(yùn)行run loop來(lái)等待消息了

      - (
      
        id
      
      
        )init

{

    CFRunLoopSourceContext    context 
      
      = {
      
        0
      
      
        , self, NULL, NULL, NULL, NULL, NULL,

                                        
      
      &
      
        RunLoopSourceScheduleRoutine,

                                        RunLoopSourceCancelRoutine,

                                        RunLoopSourcePerformRoutine};

 

    runLoopSource 
      
      = CFRunLoopSourceCreate(NULL, 
      
        0
      
      , &
      
        context);

    commands 
      
      =
      
         [[NSMutableArray alloc] init];

 

    
      
      
        return
      
      
         self;

}

 


      
      - (
      
        void
      
      
        )addToCurrentRunLoop

{

    CFRunLoopRef runLoop 
      
      =
      
         CFRunLoopGetCurrent();

    CFRunLoopAddSource(runLoop, runLoopSource, kCFRunLoopDefaultMode);

}
      
    

?

客戶(hù)端和輸入源對(duì)應(yīng)

想要輸入源真的有用的話(huà),需要維護(hù)它并且用它向其他線(xiàn)程發(fā)送信號(hào)。輸入源的主要功能是讓相關(guān)的線(xiàn)程掛起,直到他們有事要做的時(shí)候在喚醒。所以就需要讓其他線(xiàn)程直到這個(gè)輸入源并且有一個(gè)和它通訊的方式。

一種讓客戶(hù)端知道輸入源的方法是在第一個(gè)裝載在run loop上時(shí)發(fā)送注冊(cè)請(qǐng)求。可以注冊(cè)任意多的你想要的客戶(hù)端,或者這冊(cè)一個(gè)核心的,然后由它把消息轉(zhuǎn)給其他的。下面展示一個(gè)定義在程序回調(diào)中的注冊(cè)方法(它在RunLoopSource對(duì)象的計(jì)劃方法中被調(diào)用了)。這個(gè)方法接收到一個(gè)RunLoopContext對(duì)象然后加入到列表中。這里也展示了如何注銷(xiāo)它

      - (
      
        void
      
      )registerSource:(RunLoopContext*
      
        )sourceInfo;

{

    [sourcesToPing addObject:sourceInfo];

}

 


      
      - (
      
        void
      
      )removeSource:(RunLoopContext*
      
        )sourceInfo

{

    
      
      
        id
      
          objToRemove =
      
         nil;

 

    
      
      
        for
      
       (RunLoopContext* context 
      
        in
      
      
         sourcesToPing)

    {

        
      
      
        if
      
      
         ([context isEqual:sourceInfo])

        {

            objToRemove 
      
      =
      
         context;

            
      
      
        break
      
      
        ;

        }

    }

 

    
      
      
        if
      
      
         (objToRemove)

        [sourcesToPing removeObject:objToRemove];

}
      
    

?

輸入源發(fā)送信號(hào)

在處理好輸入源的數(shù)據(jù)后,客戶(hù)端就可以發(fā)送信號(hào)來(lái)喚醒run loop了。輸入源發(fā)信號(hào)可以讓run loop知道可以準(zhǔn)備好執(zhí)行了。因?yàn)橛锌赡茉谑盏叫盘?hào)時(shí)線(xiàn)程是掛起狀態(tài),所以每次都需要明確的喚醒run loop。否則可能會(huì)導(dǎo)致輸入源延遲執(zhí)行。

下面展示了RunLoopSource的fireCommandsOnRunLoop方法。客戶(hù)端把命令加入到命令緩沖區(qū)并且準(zhǔn)備好執(zhí)行后會(huì)調(diào)用它。

      - (
      
        void
      
      
        )fireCommandsOnRunLoop:(CFRunLoopRef)runloop

{

    CFRunLoopSourceSignal(runLoopSource);

    CFRunLoopWakeUp(runloop);

}
      
    

注意:不要嘗試去處理SIGHUP或其他線(xiàn)程級(jí)別的信號(hào)。Core Foundation喚醒run loop的信號(hào)不是信號(hào)安全的,不應(yīng)該在你的程序中處理。

?

配置定時(shí)器源

要?jiǎng)?chuàng)建一個(gè)定時(shí)器源,只需要?jiǎng)?chuàng)建一個(gè)定時(shí)器對(duì)象然后加到run loop上。在Cocoa中,可以使用NSTimer類(lèi)來(lái)創(chuàng)建定時(shí)器對(duì)象,在Core Foundation中可以使用CFRunLoopTimerRef。實(shí)際上NSTimer類(lèi)是Core Foundation的擴(kuò)展,提供了一下更方便的方法,比如創(chuàng)建以及添加到線(xiàn)程。

在Cocoa中,可以通過(guò)下面的方法創(chuàng)建定時(shí)器

  • scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:
  • scheduledTimerWithTimeInterval:invocation:repeats:

這些方法會(huì)創(chuàng)建一個(gè)定時(shí)器然后以默認(rèn)類(lèi)型(NSDefaultRunLoopMode)添加到當(dāng)前線(xiàn)程的run loop。也可以手動(dòng)創(chuàng)建一個(gè)NSTImer對(duì)象,然后調(diào)用NSRunLoop的addTimer:forMode:方法添加到run loop上。兩種方法本質(zhì)上做了相同的事,但是可以讓你在不同層面上控制定時(shí)器的配置。比如,如果手動(dòng)的創(chuàng)建定時(shí)器然后添加到run loop,這樣可以使用除了默認(rèn)類(lèi)型以外的類(lèi)型。下面展示了兩種方法。第一個(gè)定時(shí)器延時(shí)1秒后每0.1秒觸發(fā)一次。第二個(gè)定時(shí)器0.2秒后每0.2秒觸發(fā)一次。

      NSRunLoop* myRunLoop =
      
         [NSRunLoop currentRunLoop];

 


      
      
        //
      
      
         Create and schedule the first timer.
      
      

NSDate* futureDate = [NSDate dateWithTimeIntervalSinceNow:
      
        1.0
      
      
        ];

NSTimer
      
      * myTimer =
      
         [[NSTimer alloc] initWithFireDate:futureDate

                        interval:
      
      
        0.1
      
      
        

                        target:self

                        selector:@selector(myDoFireTimer1:)

                        userInfo:nil

                        repeats:YES];

[myRunLoop addTimer:myTimer forMode:NSDefaultRunLoopMode];

 


      
      
        //
      
      
         Create and schedule the second timer.
      
      

[NSTimer scheduledTimerWithTimeInterval:
      
        0.2
      
      
        

                        target:self

                        selector:@selector(myDoFireTimer2:)

                        userInfo:nil

                        repeats:YES];
      
    

下面展示了使用Core Foundation方法來(lái)配置定時(shí)器。雖然下面沒(méi)有傳遞任何用戶(hù)定義的信息,但是你可以使用這個(gè)數(shù)據(jù)結(jié)構(gòu)傳遞你想傳遞的任何數(shù)據(jù)

      CFRunLoopRef runLoop =
      
         CFRunLoopGetCurrent();

CFRunLoopTimerContext context 
      
      = {
      
        0
      
      
        , NULL, NULL, NULL, NULL};

CFRunLoopTimerRef timer 
      
      = CFRunLoopTimerCreate(kCFAllocatorDefault, 
      
        0.1
      
      , 
      
        0.3
      
      , 
      
        0
      
      , 
      
        0
      
      
        ,

                                        
      
      &myCFTimerCallback, &
      
        context);

 

CFRunLoopAddTimer(runLoop, timer, kCFRunLoopCommonModes);
      
    

?

配置Port-Based輸入源

Cocoa和Core Foundation都提供了port-based對(duì)象來(lái)進(jìn)行線(xiàn)程間通訊。

?

配置NSMachPort對(duì)象

要建立和NSMachPort對(duì)象的聯(lián)系,需要?jiǎng)?chuàng)建一個(gè)port對(duì)象然后把它加到線(xiàn)程的run loop中。當(dāng)啟動(dòng)輔助線(xiàn)程時(shí),把同樣的對(duì)象傳遞給線(xiàn)程的入口方法。輔助線(xiàn)程就可以使用相同的對(duì)象來(lái)把消息發(fā)送回來(lái)。

?

主線(xiàn)程代碼實(shí)現(xiàn)

下面展示了啟動(dòng)輔助線(xiàn)程的代碼。Cocoa框架處理了port和run loop的一些中間步驟,所有啟動(dòng)線(xiàn)程的方法比Core Fouundation要短。但是兩種效果是一樣的。不同的是這個(gè)方法直接發(fā)送NSPort對(duì)象給工作線(xiàn)程

      - (
      
        void
      
      
        )launchThread

{

    NSPort
      
      * myPort =
      
         [NSMachPort port];

    
      
      
        if
      
      
         (myPort)

    {

        
      
      
        //
      
      
         This class handles incoming port messages.
      
      
                [myPort setDelegate:self];

 

        
      
      
        //
      
      
         Install the port as an input source on the current run loop.
      
      
                [[NSRunLoop currentRunLoop] addPort:myPort forMode:NSDefaultRunLoopMode];

 

        
      
      
        //
      
      
         Detach the thread. Let the worker release the port.
      
      
                [NSThread detachNewThreadSelector:@selector(LaunchThreadWithPort:)

               toTarget:[MyWorkerClass 
      
      
        class
      
      
        ] withObject:myPort];

    }

}
      
    

如果要設(shè)置線(xiàn)程的雙向通訊,也需要工作線(xiàn)程把它的port發(fā)送給主線(xiàn)程。

      
        #define
      
       kCheckinMessage 100

 


      
        //
      
      
         Handle responses from the worker thread.
      
      

- (
      
        void
      
      )handlePortMessage:(NSPortMessage *
      
        )portMessage

{

    unsigned 
      
      
        int
      
       message =
      
         [portMessage msgid];

    NSPort
      
      * distantPort =
      
         nil;

 

    
      
      
        if
      
       (message ==
      
         kCheckinMessage)

    {

        
      
      
        //
      
      
         Get the worker thread’s communications port.
      
      

        distantPort =
      
         [portMessage sendPort];

 

        
      
      
        //
      
      
         Retain and save the worker port for later use.
      
      
                [self storeDistantPort:distantPort];

    }

    
      
      
        else
      
      
        

    {

        
      
      
        //
      
      
         Handle other messages.
      
      
            }

}
      
    

輔助線(xiàn)程代碼實(shí)現(xiàn)

對(duì)于輔助線(xiàn)程,需要配置線(xiàn)程來(lái)使用port和主線(xiàn)程通訊。

下面講述了設(shè)置輔助線(xiàn)程。在創(chuàng)建autorelease pool之后,它創(chuàng)建了一個(gè)工作對(duì)象來(lái)控制線(xiàn)程執(zhí)行。工作對(duì)象的sendCheckinMessage:方法給工作線(xiàn)程創(chuàng)建一個(gè)本地port然后發(fā)送消息給主線(xiàn)程。

      +(
      
        void
      
      )LaunchThreadWithPort:(
      
        id
      
      
        )inData

{

    NSAutoreleasePool
      
      *  pool =
      
         [[NSAutoreleasePool alloc] init];

 

    
      
      
        //
      
      
         Set up the connection between this thread and the main thread.
      
      

    NSPort* distantPort = (NSPort*
      
        )inData;

 

    MyWorkerClass
      
      *  workerObj =
      
         [[self alloc] init];

    [workerObj sendCheckinMessage:distantPort];

    [distantPort release];

 

    
      
      
        //
      
      
         Let the run loop process things.
      
      
        do
      
      
        

    {

        [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode

                            beforeDate:[NSDate distantFuture]];

    }

    
      
      
        while
      
       (!
      
        [workerObj shouldExit]);

 

    [workerObj release];

    [pool release];

}
      
    

在使用NSMachPort時(shí),線(xiàn)程間單向通訊可以使用同一個(gè)對(duì)象。也就是說(shuō),當(dāng)前線(xiàn)程創(chuàng)建的port對(duì)象是其他線(xiàn)程接收到的port對(duì)象。

下面是輔助線(xiàn)程的check-in流程。這個(gè)方法設(shè)置了一個(gè)port用來(lái)在以后進(jìn)行通訊,然后把它發(fā)送給主線(xiàn)程。這個(gè)方法使用LaunchThreadWithPort:方法傳過(guò)來(lái)的port對(duì)象

      
        //
      
      
         Worker thread check-in method
      
      

- (
      
        void
      
      )sendCheckinMessage:(NSPort*
      
        )outPort

{

    
      
      
        //
      
      
         Retain and save the remote port for future use.
      
      
            [self setRemotePort:outPort];

 

    
      
      
        //
      
      
         Create and configure the worker thread port.
      
      

    NSPort* myPort =
      
         [NSMachPort port];

    [myPort setDelegate:self];

    [[NSRunLoop currentRunLoop] addPort:myPort forMode:NSDefaultRunLoopMode];

 

    
      
      
        //
      
      
         Create the check-in message.
      
      

    NSPortMessage* messageObj =
      
         [[NSPortMessage alloc] initWithSendPort:outPort

                                         receivePort:myPort components:nil];

 

    
      
      
        if
      
      
         (messageObj)

    {

        
      
      
        //
      
      
         Finish configuring the message and send it immediately.
      
      
                [messageObj setMsgId:setMsgid:kCheckinMessage];

        [messageObj sendBeforeDate:[NSDate date]];

    }

}
      
    

配置NSMessagePort對(duì)象

與NSMessagePort對(duì)象建立連接并不是見(jiàn)到的在線(xiàn)程間傳遞port對(duì)象。遠(yuǎn)程port纖細(xì)必須要有一個(gè)名字。Cocoa用一個(gè)特定的名字注冊(cè)port然后把它傳遞給遠(yuǎn)程線(xiàn)程來(lái)進(jìn)行通訊。下面展示了創(chuàng)建和注冊(cè)消息port的代碼

      NSPort* localPort =
      
         [[NSMessagePort alloc] init];

 


      
      
        //
      
      
         Configure the object and add it to the current run loop.
      
      
        [localPort setDelegate:self];

[[NSRunLoop currentRunLoop] addPort:localPort forMode:NSDefaultRunLoopMode];

 


      
      
        //
      
      
         Register the port using a specific name. The name must be unique.
      
      

NSString* localPortName = [NSString stringWithFormat:
      
        @"
      
      
        MyPortName
      
      
        "
      
      
        ];

[[NSMessagePortNameServer sharedInstance] registerPort:localPort

                     name:localPortName];
      
    

使用Core Foundation配置port-based輸入源

這里展示如何使用Core Foundation在主線(xiàn)程和工作線(xiàn)程之間設(shè)置一個(gè)雙向通訊通道。

主線(xiàn)程調(diào)用下面的方法來(lái)啟動(dòng)工作線(xiàn)程。里面做的第一件事是設(shè)置了一個(gè)CFMessagePortRef類(lèi)型來(lái)監(jiān)聽(tīng)工作線(xiàn)程的消息。工作線(xiàn)程需要port的名字來(lái)建立連接, 所以名字會(huì)在工作線(xiàn)程的入口傳過(guò)去。名字必須是唯一的。

      
        #define
      
       kThreadStackSize        (8 *4096)
      
        

 

OSStatus MySpawnThread()

{

    
      
      
        //
      
      
         Create a local port for receiving responses.
      
      
            CFStringRef myPortName;

    CFMessagePortRef myPort;

    CFRunLoopSourceRef rlSource;

    CFMessagePortContext context 
      
      = {
      
        0
      
      
        , NULL, NULL, NULL, NULL};

    Boolean shouldFreeInfo;

 

    
      
      
        //
      
      
         Create a string with the port name.
      
      

    myPortName = CFStringCreateWithFormat(NULL, NULL, CFSTR(
      
        "
      
      
        com.myapp.MainThread
      
      
        "
      
      
        ));

 

    
      
      
        //
      
      
         Create the port.
      
      

    myPort =
      
         CFMessagePortCreateLocal(NULL,

                myPortName,

                
      
      &
      
        MainThreadResponseHandler,

                
      
      &
      
        context,

                
      
      &
      
        shouldFreeInfo);

 

    
      
      
        if
      
       (myPort !=
      
         NULL)

    {

        
      
      
        //
      
      
         The port was successfully created.

        
      
      
        //
      
      
         Now create a run loop source for it.
      
      

        rlSource = CFMessagePortCreateRunLoopSource(NULL, myPort, 
      
        0
      
      
        );

 

        
      
      
        if
      
      
         (rlSource)

        {

            
      
      
        //
      
      
         Add the source to the current run loop.
      
      
                    CFRunLoopAddSource(CFRunLoopGetCurrent(), rlSource, kCFRunLoopDefaultMode);

 

            
      
      
        //
      
      
         Once installed, these can be freed.
      
      
                    CFRelease(myPort);

            CFRelease(rlSource);

        }

    }

 

    
      
      
        //
      
      
         Create the thread and continue processing.
      
      
            MPTaskID        taskID;

    
      
      
        return
      
      (MPCreateTask(&
      
        ServerThreadEntryPoint,

                    (
      
      
        void
      
      *
      
        )myPortName,

                    kThreadStackSize,

                    NULL,

                    NULL,

                    NULL,

                    
      
      
        0
      
      
        ,

                    
      
      &
      
        taskID));

}
      
    

線(xiàn)程啟動(dòng)之后,主線(xiàn)程在等待反饋時(shí)會(huì)繼續(xù)執(zhí)行其他的任務(wù)。當(dāng)反饋消息回來(lái)時(shí),會(huì)分發(fā)到下面的MainThreadResponseHandler方法。

      
        #define
      
       kCheckinMessage 100

 


      
        //
      
      
         Main thread port message handler
      
      
        CFDataRef MainThreadResponseHandler(CFMessagePortRef local,

                    SInt32 msgid,

                    CFDataRef data,

                    
      
      
        void
      
      *
      
         info)

{

    
      
      
        if
      
       (msgid ==
      
         kCheckinMessage)

    {

        CFMessagePortRef messagePort;

        CFStringRef threadPortName;

        CFIndex bufferLength 
      
      =
      
         CFDataGetLength(data);

        UInt8
      
      * buffer = CFAllocatorAllocate(NULL, bufferLength, 
      
        0
      
      
        );

 

        CFDataGetBytes(data, CFRangeMake(
      
      
        0
      
      
        , bufferLength), buffer);

        threadPortName 
      
      =
      
         CFStringCreateWithBytes (NULL, buffer, bufferLength, kCFStringEncodingASCII, FALSE);

 

        
      
      
        //
      
      
         You must obtain a remote message port by name.
      
      

        messagePort =
      
         CFMessagePortCreateRemote(NULL, (CFStringRef)threadPortName);

 

        
      
      
        if
      
      
         (messagePort)

        {

            
      
      
        //
      
      
         Retain and save the thread’s comm port for future reference.
      
      
                    AddPortToListOfActiveThreads(messagePort);

 

            
      
      
        //
      
      
         Since the port is retained by the previous function, release

            
      
      
        //
      
      
         it here.
      
      
                    CFRelease(messagePort);

        }

 

        
      
      
        //
      
      
         Clean up.
      
      
                CFRelease(threadPortName);

        CFAllocatorDeallocate(NULL, buffer);

    }

    
      
      
        else
      
      
        

    {

        
      
      
        //
      
      
         Process other messages.
      
      
            }

 

    
      
      
        return
      
      
         NULL;

}
      
    

主線(xiàn)程配置好之后,剩下的工作是給工作線(xiàn)程創(chuàng)建port。下面展示了工作線(xiàn)程的入口。

      OSStatus ServerThreadEntryPoint(
      
        void
      
      *
      
         param)

{

    
      
      
        //
      
      
         Create the remote port to the main thread.
      
      
            CFMessagePortRef mainThreadPort;

    CFStringRef portName 
      
      =
      
         (CFStringRef)param;

 

    mainThreadPort 
      
      =
      
         CFMessagePortCreateRemote(NULL, portName);

 

    
      
      
        //
      
      
         Free the string that was passed in param.
      
      
            CFRelease(portName);

 

    
      
      
        //
      
      
         Create a port for the worker thread.
      
      

    CFStringRef myPortName = CFStringCreateWithFormat(NULL, NULL, CFSTR(
      
        "
      
      
        com.MyApp.Thread-%d
      
      
        "
      
      
        ), MPCurrentTaskID());

 

    
      
      
        //
      
      
         Store the port in this thread’s context info for later reference.
      
      

    CFMessagePortContext context = {
      
        0
      
      
        , mainThreadPort, NULL, NULL, NULL};

    Boolean shouldFreeInfo;

    Boolean shouldAbort 
      
      =
      
         TRUE;

 

    CFMessagePortRef myPort 
      
      =
      
         CFMessagePortCreateLocal(NULL,

                myPortName,

                
      
      &
      
        ProcessClientRequest,

                
      
      &
      
        context,

                
      
      &
      
        shouldFreeInfo);

 

    
      
      
        if
      
      
         (shouldFreeInfo)

    {

        
      
      
        //
      
      
         Couldn't create a local port, so kill the thread.
      
      

        MPExit(
      
        0
      
      
        );

    }

 

    CFRunLoopSourceRef rlSource 
      
      = CFMessagePortCreateRunLoopSource(NULL, myPort, 
      
        0
      
      
        );

    
      
      
        if
      
       (!
      
        rlSource)

    {

        
      
      
        //
      
      
         Couldn't create a local port, so kill the thread.
      
      

        MPExit(
      
        0
      
      
        );

    }

 

    
      
      
        //
      
      
         Add the source to the current run loop.
      
      
            CFRunLoopAddSource(CFRunLoopGetCurrent(), rlSource, kCFRunLoopDefaultMode);

 

    
      
      
        //
      
      
         Once installed, these can be freed.
      
      
            CFRelease(myPort);

    CFRelease(rlSource);

 

    
      
      
        //
      
      
         Package up the port name and send the check-in message.
      
      

    CFDataRef returnData =
      
         nil;

    CFDataRef outData;

    CFIndex stringLength 
      
      =
      
         CFStringGetLength(myPortName);

    UInt8
      
      * buffer = CFAllocatorAllocate(NULL, stringLength, 
      
        0
      
      
        );

 

    CFStringGetBytes(myPortName,

                CFRangeMake(
      
      
        0
      
      
        ,stringLength),

                kCFStringEncodingASCII,

                
      
      
        0
      
      
        ,

                FALSE,

                buffer,

                stringLength,

                NULL);

 

    outData 
      
      =
      
         CFDataCreate(NULL, buffer, stringLength);

 

    CFMessagePortSendRequest(mainThreadPort, kCheckinMessage, outData, 
      
      
        0.1
      
      , 
      
        0.0
      
      
        , NULL, NULL);

 

    
      
      
        //
      
      
         Clean up thread data structures.
      
      
            CFRelease(outData);

    CFAllocatorDeallocate(NULL, buffer);

 

    
      
      
        //
      
      
         Enter the run loop.
      
      
            CFRunLoopRun();

}
      
    

進(jìn)入run loop后,其他發(fā)送過(guò)來(lái)的時(shí)間由ProcessClientRequest方法處理。這個(gè)方法怎么實(shí)現(xiàn)取決于這個(gè)線(xiàn)程想做什么。

ios 多線(xiàn)程開(kāi)發(fā)(三)Run Loops


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 国产另类精品 | 91丨porny在线牛牛影视 | 免费无码黄十八禁网站在线观看 | 国产青草视频在线观看视频 | 国产黑色丝袜视频在线观看网红 | 精品久久久无码中文字幕 | 欧美高清在线 | 牲欲强的熟妇农村老妇女视频 | 欧美在线日韩 | 在线中文字幕av | 成人污在线观看 | 成人a视频 | 99热久| 亚洲精品中文字幕在线 | 华人少妇被黑人粗大的猛烈进 | 欲妇荡岳丰满少妇岳 | 少妇被多人c夜夜爽爽av | 欧美一区二区喷水白浆视频 | 久久精品成人一区二区三区蜜臀 | 欧美乱人伦视频在线 | 国产精品偷伦视频免费手机播放 | 成人必看www.| 2018狠狠干 | 亚洲欧洲日产国码无码app | 精品久久国产老人久久综合 | 亚洲人成伊人成综合网无码 | 国产精品 自在自线 | 四虎影院国产精品 | 99在线观看精品视频 | 国内毛片毛片毛片毛片毛片毛片 | 欧美无乱码久久久免费午夜一区 | 亚洲r成人av久久人人爽澳门赌 | 成午夜精品一区二区三区软件 | 成人丝袜激情一区二区 | 国产乱淫a∨片免费视频牛牛 | 欧美精品偷自拍另类在线观看 | 日韩欧美中文字幕在线播放 | 日韩精品内射视频免费观看 | 最新系列国产专区|亚洲国产 | 成人精品视频一区二区三区尤物 | 精品国产自在精品国产精华天 | 亚洲系列一区中文字幕 | 中文字幕一区二区三区四区免费看 | 国产亚洲精品久久久ai换 | 亚洲欧美日本中文字不卡 | 瑟瑟视频在线免费观看 | 天堂av在线8 | 亚洲精品日韩中文字幕久久久 | 少女韩国电视剧在线观看完整 | 久久99精品久久久影院老司机 | 少妇人妻无码专区视频免费 | 国产sm精品调教视频网址 | 精产国品一二三产区蘑菇视频 | 波多野结衣av一区二区全免费观看 | 久久免费视频一区二区 | 少妇人妻精品一区二区三区 | 国产精品乱码久久久久软件 | 日产学生妹在线观看 | 无线乱码一二三区免费看 | 亚洲男人第一av天堂 | 伊人96 | 午夜人成 | 日本高清无卡码一区二区久久 | 91av在线视频播放 | 97久章草在线视频播放 | 日韩成人自拍 | 欧美三级在线播放 | 久久夜色撩人精品国产av | 髙清国产性猛交xxxand | 伊人久在线 | 亚洲不卡av一区二区三区 | 中文字幕在线不卡一区二区 | 精品少妇人妻av免费久久久 | 欧美日韩亚洲三区 | 亚洲国产超清无码专区 | 久久久久久成人网 | 偷窥妇女撒尿久久 | 国产精品偷伦视频免费观看了 | 男女羞羞视频免费观看 | 日本强伦姧熟睡人妻完整视频 | 日韩色网址 | 欧美猛交xxx | 日本福利在线观看 | 98在线视频噜噜噜国产 | 欧美另类交人妖 | 国产精品尤物麻豆一区二区三区 | 特级a欧美做爰片三人交 | 久久精品免费播放 | 中文字幕高清免费日韩视频在线 | 四虎永久在线精品免费下载 | 国产做爰免费观看视频 | 国产日本精品视频在线观看 | 成人免费无码精品国产电影 | 欧美一级视频免费观看 | 美女疯狂连续喷潮视频 | 国产精品一区二区含羞草 | 国产稚嫩高中生呻吟激情在线视频 | 国产精品久久久久久一区二区 | 国产裸体美女永久免费无遮挡 | 91久久久色在线观看 | 黄色一级片免费播放 | 久久996re热这里只有精品无码 | 色综合av亚洲超碰少妇 | 国产精品∧v在线观看 | 亚洲精品男女 | 天天爽夜夜爽人人爽从早干到睌 | 高清中文字幕 | av大天堂 | 高潮的毛片激情久久精品 | 国产真实乱人偷精品视频 | 两个美女裸体舌吻互扒内裤 | av毛片午夜不卡高潮喷水 | 成人福利在线视频 | 日韩在线视频你懂的 | 日木亚洲精品无码专区 | 伊人色综合久久天天网 | 成人有色视频免费观看网址 | 九九热视 | 九九热精品视频在线 | 7777欧美成是人在线观看 | 国产在线观看超清无码视频一区二区 | 麻豆国产人妻欲求不满 | 在线观看国产亚洲 | 久久无码字幕中文久久无码 | 蜜桃视频在线观看www | 欧美第5页 | 国产私拍在线 | 99蜜桃在线观看免费视频网站 | 久久中文字幕无码中文字幕有码 | 91精品国产色综合久久不卡98口 | 久热精品在线播放 | 日日操日日操 | 91精品国产综合久久国产大片 | 亚洲日韩欧美内射姐弟 | 粉嫩av在线播放一绯色 | 久久亚洲精品国产精品 | 国产v亚洲v天堂a无码99 | 色婷婷综合中文久久一本 | 免费观看啪啪黄的网站 | aa亚洲 | 欧美色图国产精品 | a一级黄色片 | aaa欧美色吧激情视频 | 女女互磨互喷水高潮les呻吟 | 99色网站 | 成人性生交片免费看 | 狠狠爱亚洲五月婷婷av | 老少配老妇老熟女中文普通话 | 天天狠天天透天天伊人 | 国产精品美女久久久久av爽李琼 | 亚洲国产欧美在线人成大黄瓜 | 极品少妇被猛得白浆直喷白浆小说 | 亚洲精品久久久蜜桃网尤妮丝 | 亚洲日本va中文字幕久久 | 色欲av蜜桃一区二区三 | 久久久久女人精品毛片 | 国产sm调教室 | 久久久久久久久久久久av | 美日韩av | 99免费看| 久久超碰精品一夜七次郎 | 日韩高清影视在线观看 | av无码午夜福利一区二区三区 | 综合色伊人 | 国产黄色大片免费观看 | 三上悠亚ssⅰn939无码播放 | 制服国产欧美亚洲日韩 | 日韩国语 | 日本热久久 | 欧美日韩美女 | 久久久噜噜噜久久熟女aa片 | 玖玖精品在线视频 | 久久久久色 | 污片免费在线观看 | 91看片王| 国产偷国产偷亚洲清高 | 日产精品久久久 | 欧美黑人巨大xxxxx | 黑人爱爱视频 | 亚洲免费观看av | 亚洲五月综合缴情在线观看 | 中国极品少妇xxxx做受 | 国产aa | 超碰在线久 | 欧美亚洲国产成人一区二区三区 | 国产视频观看 | 亚洲精品国产高清一线久久 | 久久99精品久久久久久不卡 | 高清无码视频直接看 | 亚洲国产成人精品女人久久久野战 | 自拍欧美日韩 | 黑人巨茎精品欧美一区二区 | 亚洲另类自拍 | 亚洲精品国产精品乱码不66 | 色爱综合另类图片av | 久久永久免费专区人妻精品 | 极品白嫩的小少妇 | 亚洲特黄视频 | 国产成人夜色在线影院 | 中文字幕永久在线观看 | 这里只有精品视频在线 | 日韩精品一区二区三区vr | 天堂中文在线视频 | 国产亚洲成年网址在线观看 | 免费无遮挡又黄又爽网站 | 日韩人妻无码免费视频一区二区三区 | 水蜜桃av无码一区二区 | 丰满少妇作爱视频免费观看 | 久草视频手机在线观看 | 成人网18免费网站 | www.嫩草影院 | 午夜精品久久久久久久久日韩欧美 | 91精品久久久久久久久不卡 | 日本久久精品少妇高潮日出水 | 国产一卡二卡在线播放 | 国产精品视频免费丝袜 | 亚洲六月丁香色婷婷综合久久 | 免费黄片毛片 | 欧美色视频在线观看 | 永久免费的av在线电影网无码 | 免费看男女做爰爽爽 | 少妇爆乳无码av专区网站寝取 | 亚洲欧美熟妇综合久久久久 | 国产伦理一区二区 | 国产精品国产自线拍免费软件 | 国产91在线播放精品91 | 狠狠躁天天躁夜夜添人人 | 国产又粗又猛又大爽 | 国产台湾无码av片在线观看 | 狠狠综合久久久久尤物丿 | 欧美另类第一页 | 二区免费视频 | 干丰满少妇 | 亚洲国产精品久久一线app | 日本九九视频 | 亚洲欧美日本国产 | 动漫3d精品一区二区三区乱码 | 精品成人一区二区三区四区 | 久久大香香蕉国产免费网动漫 | 久久婷婷成人综合色综合 | 亚洲影院丰满少妇中文字幕无码 | 999日韩| 伊人爱爱网 | 午夜歪影 | 成人区精品一区二区不卡av免费 | 欧美日韩一区二区三区精品 | 一本色道精品久久一区二区三区 | tube中国91xxxxx国产 | 国产成人精品男人的天堂网站 | 欧美中文网 | 中文字幕少妇 | 国产成人愉拍免费视频 | 国产无套粉嫩白浆内谢在a 一及黄色大片 | 国产一区二区三区成人久久片老牛 | 久久99精品久久久久久久久久久久 | 精品视频一区二区三区在线观看 | 亚洲情侣偷拍激情在线播放 | 亚洲最大av资源站无码av网址 | 色夜码无码av网站 | 精品国产乱码一区二区三区四区 | 永久免费无码日韩视频 | 青青草国产免费无码国产精品 | 欧美人成网站 | 欧美性生交活xxxxxdddd | 欧美精品在线一区 | 男人舔女人b视频 | 国产免费传媒av片在线 | 97无码免费人妻超级碰碰夜夜 | 国产无套内射久久久国产 | 日本免费a级 | 欧美色图888 | 亚洲午夜国产成人av电影 | 国产xxxx18 | 国产精品亚洲专区无码牛牛 | 天天躁日日躁狠狠躁欧美老妇 | 午夜神马影院dy888亚洲精品 | 国产少妇国语对白污 | 女同亚洲精品一区二区三 | 国产麻豆精品sm调教视频网站 | 国产精品一区二区久久精品 | 国产成人无码av在线影院 | 91大片在线观看 | 国产亚洲精品拍拍拍拍拍 | 一级做a爱片性色毛片高清 欧美精品videosex极品 | 日本超碰 | 黄色一级片国产 | 日本少妇做爰大尺裸体网站 | 国产精品99久久久久久久女警 | 男女国产精品 | 人人爽人人爽人人爽人人爽 | 欧美群交射精内射颜射潮喷 | 99精品国产久热在线观看 | 亚洲国产cao| 亚洲 欧美 国产 动漫 综合 | 日韩国产在线观看 | 性大片爱赏网免费观看 | 亚洲一卡2卡三卡4卡国色天香 | 蜜臀av国内精品久久久较好效果 | 国产激情综合 | 久久国产avjust麻豆 | 久久免费观看视频 | 屁屁影院,国产第一页 | 东京热无码av一区二区 | 国产精品高清一区二区三区不卡 | 中文字幕在线不卡精品视频99 | 一级久久久久久 | 欧美人与性动交α欧美精品图片 | 二宫光在线播放88av | 2020最新国产情侣网站 | 无套内谢的新婚少妇国语播放 | 亚洲一区二区二区久久成人婷婷 | 中文字幕美女 | 大又大又粗又硬又爽少妇毛片 | 国产在线精品一品二区 | 亚洲大片免费看 | 久久亚洲日韩精品一区二区三区 | 亚洲国内成人精品网 | 国产婷婷丁香五月缴情成人网 | 久久久久久毛片免费播放 | 亚洲 自拍 另类小说综合图区 | 国产一区二区三区成人 | 狠狠久久永久免费观看 | 国产又爽又大又黄a片另类软件 | 欧美性猛交xxxx免费看久久久 | 99精品欧美 | 国产精品久久久久久久久免费桃花 | 成人亚洲欧美久久久久 | 日韩欧美超碰 | 无码国产精品一区二区免费vr | 久久久久久黄色 | 亚洲欧美在线视频观看 | 欧美亚洲另类在线 | 在线观看片免费人成视频无码 | 亚洲卡一卡二卡三乱草莓 | 免费全黄无遮挡裸体毛片 | 和黑人邻居中文字幕在线 | 日欧137片内射在线视频播放 | 免费欧美成人 | 国产区一区 | 女神西比尔av在线播放 | 久草福利网 | 香蕉97超级碰碰碰视频 | 狠狠躁夜夜躁人人爽超碰女h | 精品视频在线观自拍自拍 | 农村妇女毛片精品久久久 | 一本加勒比hezyo东京图库 | 日本丰满大乳奶做爰 | 韩国三级在线 中文字幕 无码 | 亚洲人成网线在线播放 | 99精品自拍 | 无码精品人妻一区二区三区漫画 | 亚洲欧美成人aⅴ在线 | 久久99热这里只有精品 | 高h各种姿势调教np肉奴视频 | 一二三区视频在线观看 | 日韩人妻无码一区二区三区综合部 | 激情的网站 | 色婷婷六月亚洲婷婷6月 | 亚洲va久久久噜噜噜久久狠狠 | 亚洲人成绝费网站色www | av一区二 | 久久国产精品99久久久久久口爆 | 人妻av中文字幕一区二区三区 | 欧美一区二区三区四区视频 | 国产八区 | 亚洲久悠悠色悠在线播放 | 国产成人免费无码视频在线观看m | 特级a欧美做爰片黑人 | 最新中文字幕av专区 | 男女超爽视频 | 天天操夜夜b | 国产欧美日韩精品专区 | 国产一区二区三区免费观看网站上 | 天天艹夜夜 | 国产精品一区二区久久乐下载 | 久久精品国产99久久六动漫 | 精品国产男人的天堂久久 | 精品视频久久久久 | 男人天堂中文字幕 | 亚洲精品嫩草研究院久久 | 国产51精品入口豆花 | 午夜桃色 | 在线亚洲视频网站www色 | 99精品国产综合久久久久五月天 | 果冻传媒av精品一区 | 国产一级爱c视频 | 青青视频免费看 | 亚洲欧美熟妇自拍色综合图片 | 伊人射| 日韩精品一区二区三区中文字幕 | 久草热视频在线观看 | 91日日拍夜夜嗷嗷叫国产 | 97人妻熟女成人免费视频色戒 | caopeng视频 | 国产av毛片亚洲含羞草社 | 精品久久一 | 男人猛戳女人30分钟视频大全 | 精品亚洲一区二区三区在线播放 | 西西大胆午夜视频无码 | 蜜臀av无码国产精品色午夜麻豆 | 色久视频| 国产亚洲视频免费播放 | 欧美老妇乱辈通奷 | 久久亚洲精品综合国产仙踪林 | 色综合激情网 | 欧美高清在线一区 | 国产精品免费一区二区三区四区 | 少妇厨房愉情理伦片bd在线观看 | 窝窝午夜精品一区二区 | 天堂草在线观看 | 免费国产va在线观看中文字 | 欧美激情视频在线观看免费 | 在线一二三区 | xxx日本在线观看 | 男人把女人桶到爽免费应用 | 无码国产午夜福利片在线观看 | 在线播放侵犯新任女学生 | 国产精品夜夜夜一区二区三区尤 | 狠狠精品久久久无码中文字幕 | 99尹人香蕉国产免费天天 | 理论片高清免费理论片毛毛片 | 天天草天天插 | gai在线观看免费高清 | 思思久久99热只有频精品66 | 国产麻豆剧传媒精品av | 国产精品一在线观看 | 亚洲亚洲人成网站77777 | 成人免费高清视频 | 国产乱人伦偷精精品视频 | 天堂素人约啪 | 亚洲欧美日韩国产一区二区 | 国产亚洲欧美日韩俺去了 | 大伊香蕉精品视频在线 | 羞羞麻豆国产精品1区2区3区 | 久热免费 | 成人亚洲a片v一区二区三区麻豆 | 男人天堂五月天 | gogo西西人体大尺度大胆伊人 | 天天av天天爽 | a级毛片高清免费视频 | 国产精品一区在线观看 | 国产精品久久久久久久久久免费 | 欧美亚洲另类综合 | 日本免费不卡高清网站 | 69麻豆天美精东蜜桃传媒潘甜甜 | 久久精品h| 天天操夜操 | 97在线无码免费人妻短视频 | 日韩视频中文字幕精品偷拍 | 国产午夜鲁丝片av无码免费 | 天天综合网入口 | 男人j进入女人j内部免费网站 | 亚洲成av人片一区二区三区 | 日本精品久久久久中文字幕 | 午夜伊人网 | 久久香蕉国产线看观看精品yw | 人妻无码专区一区二区三区 | 人人妻人人藻人人爽欧美一区 | av日韩在线看 | 免费在线观看污片 | 99久在线国内在线播放免费观看 | 中文在线免费观看 | 国产精品边做奶水狂喷 | 在线观看二区 | 国产高清区 | 少妇与子乱毛片 | 日本加勒比在线视频 | 国产精品永久免费 | 亚洲自偷自偷在线成人网站传媒 | www.好了av.com | 色综合久久综合网 | 国产99视频精品免费视频7 | 就爱av| 人妻精品久久无码专区涩涩 | 99久久精品精品6精品精品 | 久久人人爽人人爽人人片亞洲 | 无码av在线一本无码 | 无遮挡啪啪摇乳动态图gif | 欧美乱妇高清无乱码免费 | 成人午夜精品久久久久久久网站 | 国产剧情av麻豆香蕉精品 | 国产精品久久久久久亚瑟影院 | 久久www成人看片免费不卡 | 午夜裸体性播放 | 国产亚洲美女精品久久久 | 一本大道伊人av久久乱码 | 国产高清乱码女大生av | 99爱在线观看 | 国产精品成人3p一区二区三区 | 欧美与动人物性生交 | 欧美交a欧美精品喷水 | 免费国产va在线观看 | 女女同性av片在线观看免费 | 国产精品19乱码一区二区三区 | 亚洲精品美女久久久久9999 | 日本免费无遮挡吸乳视频中文字幕 | 久久久精品动漫 | 久久亚洲人成综合网 | 国产一卡二卡四卡无卡免费 | 日韩第六页 | 国产成人综合久久 | 超碰cao已满18进入离开官网 | 已婚少妇露脸日出白浆 | 成人亚洲综合av天堂 | 中文字幕日产乱码中 | 东京热久久综合伊人av | 18禁无遮拦无码国产在线播放 | 人妖天堂狠狠ts人妖天堂狠狠 | 亚色av| 中日韩乱码一二新区 | 久热国产vs视频在线观看 | 日韩av女优在线观看 | 国产91亚洲精品 | 成年人在线视频 | av女人的天堂 | 久久爽久久爽久久av东京爽 | 亚洲综合久久成人a片红豆 黄色在线免费播放 | 91丨国产丨蚪窝海角社区 | 国产精品国产三级国产普通话 | 色欲久久久天天天综合网精品 | 色久综合 | 色婷婷伊人 | 女人让男人桶爽30分钟 | 亚洲呦女专区 | 日本爽快片100色毛片视频 | 黄色一区二区三区视频 | 全部av―极品视觉盛宴 | 婷婷人体 | 爱插综合网 | 不卡一区二区三区四区 | 真人无码作爱免费视频禁hnn | 美女隐私视频黄www曰本 | 97超碰在线播放 | 欧美 日韩 国产 在线 | 青草青草久热精品视频在线观看 | 亚洲精品久久久久avwww潮水 | 国产精品偷窥女厕视频 | 91中文字幕网| 精品久久久久久中文墓无码 | 国产精品久免费的黄牛仔短裤 | 特级a欧美做爰片第一次 | 青青草七次郎 | 麻豆av一区二区三区 | 超碰伊人网 | 亚洲免费影院 | 色噜噜av男人的天堂 | 久久久久无码国产精品不卡 | 色爱av综合 | 伊人热热| 2020久热爱精品视频在线观看 | 99欧美视频一区二区国产 | 免费高清a级南片在线观看 欧美精品乱人伦久久久久久 | 六月婷婷在线视频 | 东京热久久综合久久88 | 国产婷婷在线精品综合 | 欧美人妻一区二区三区 | 中文在线无码高潮潮喷在线播放 | 国产精品热久久久久夜色精品三区 | 亚洲欧美日韩综合在线丁香 | 久久www免费人成_看片 | 女人被黑人狂躁c到高潮小说 | 丰满人妻跪趴高撅肥臀 | 中国少妇videos呻吟 | 福利网站在线观看 | 午夜av亚洲一码二中文字幕青青 | 国产色午夜婷婷一区二区三区 | 一本色道久久综合狠狠躁篇适合什么人看 | 国产精品538一区二区在线 | 欧美日韩精品在线观看视频 | 91国内在线 | 天堂网一区二区 | 国产九九热视频 | 国产男女猛烈无遮挡免费视频 | 国产av永久无码天堂影院 | 久久理伦片琪琪电影院 | 久久九色综合九色99伊人 | 黄色三级视频在线观看 | 无码人妻丰满熟妇啪啪欧美 | 日本婷婷久久久久久久久一区二区 | 国内成人自拍 | 欧美亚洲国产片在线播放 | 性高湖久久久久久久久 | 日韩av在线永久免费 | 亚洲成人精品久久 | 国产成a人亚洲精v品无码性色 | 欧美黑人性生活 | av一起看香蕉 | av黄色在线播放 | 成人免费毛片视频 | 天堂av2017男人的天堂 | 狠狠色成人综合 | 欧美一性一乱一交一视频 | 欧美激情一区二区三区aa片 | 日本在线一区二区三区 | 午夜无码一区二区三区在线观看 | 综合久久—本道中文字幕 | 欧美另类与牲交zozozo | 欧美 国产 亚洲视频 | 国产亚洲婷婷香蕉久久精品 | 91视频免费观看在线看 | 久久逼网| 国产成人综合一区人人 | 日本成人动漫在线观看 | 国产做国产爱免费视频 | 亚洲精品午夜无码电影网 | 国产成人精品无码一区二区三区 | 性久久 | 巨爆乳中文字幕爆乳区 | 亚洲成av人片在一线观看 | 国产玖玖玖九九精品视频靠爱 | 人妻无码αv中文字幕久久 在线观看中文字幕2021 | 男同志毛片特黄毛片 | 高清人人天天夜夜曰狠狠狠狠 | 2020最新国产高清毛片 | 91视频xxxx | 狠狠色婷婷丁香综合久久韩国 | 国内精品视频在线播放 | 国产成人精品免费视频大全最热 | 久久青青草原国产免费播放 | 国模少妇无码一区二区三区 | 黑人极品videos精品巨大 | 法国伦理少妇愉情 | 不卡伦理 | 久久久国产片 | 无码国产精品一区二区免费模式 | 日日躁夜躁aaaaxxxx | 99涩涩 | 亚洲 国产 欧美 日韩 | 日韩视频导航 | 97在线公开视频 | 精品美女一区二区 | 中文字幕在线观看视频地址二 | 国语对白做受欧美 | 东北老女人高潮大叫对白 | 久久久全国免费视频 | 欧美深夜在线 | 免费无码又爽又刺激激情视频 | 少妇爆乳无码专区av无码 | 国产精品户露av在线户外直播 | 久久国产视频一区 | 精品一区二区三区免费观看 | 香蕉噜噜噜噜私人影院 | 午夜一区欧美二区高清三区 | 欧美激情精品久久久久久大尺度 | 熟女丝袜潮喷内裤视频网站 | 国产亚洲一区精品 | 亚洲精品乱码8久久久久久日本 | 欧美日韩国产第一区 | 夜夜6699ww爽爽婷婷 | 中文字幕一区二区三区视频 | 国产精品18岁 | 香蕉久久一区二区三区啪啪 | 久久97久久97精品免视看 | 免费黄色亚洲 | 亚洲精品一区二区三区不卡 | 亚洲成 人 综合 亚洲欧洲 | 日韩在线 | 中文 | 狠狠色噜噜狠狠狠狠777米奇小说 | 东京天堂网天堂网 | 偷拍60岁老妇bbbb | 亚洲 日韩 激情 无码 中出 | 国产h自拍 | 99黄色网 | 91天堂 | 久久综合伊人九色综合 | 亚洲中文字幕日本在线观看 | 四虎永久视频 | 国产69精品久久久久久久 | av网站播放 | 日韩精品在线播放视频 | 国产精品特级毛片一区二区三区 | 性欧美精品 | 亚洲区一区二 | 色性av | 精品人妻av区乱码 | 亚洲色p | 精品999日本久久久影院 | 又色又爽又黄还免费毛片96下载 | 成年人免费在线视频 | 国产偷国产偷亚洲清高动态图 | 成人午夜精品一区二区三区 | 久久精品视频久久 | av一区二区三区 | 五月色婷婷综合 | 大尺度做爰啪啪高潮 | 韩国精品无码少妇在线观看 | 精品亚洲一区二区三区四区五区 | 一品道av| 国产精品亚洲а∨天堂2021 | 日韩在线一区二区 | 久久人人爽人人人人片 | 亚洲三级在线观看 | 少妇高潮毛片 | 8888四色奇米在线观看 | 91九色丨porny丨闺蜜 | 国产免国产免‘费 | 亚洲国产精品无码久久久秋霞2 | 天堂中文字幕在线观看 | 超清无码一区二区三区 | 日韩一中文字幕 | tickle调教美女丨vk | 5858s亚洲色大成网站www | 婷婷一级片| 国产在线视频福利资源站 | 嫩草av久久伊人妇女超级a | 午夜男女爽爽爽免费体验区 | 色噜噜色噜噜 | 国产精品国语对白露脸在线播放 | av免费在线播放网站 | 亚洲成人a∨ | 国产最爽的乱淫视频国语对白1 | 性色av一区二区三区在线观看 | 欧美大片xxx | 亚洲 欧美 国产 日韩 中文字幕 | 天堂一区二区在线观看 | 免费一级黄色片 | 中文字幕在线观看 | 久草网在线| 日韩欧美中文在线观看 | 有一婷婷色 | 亚洲精品一区二区不卡 | 亚洲大色堂人在线无码 | 国产欧美日韩在线中文一区 | 国产又大又硬又粗 | 色婷婷在线视频 | 国产一区二区三区在线视频 | 无套内谢少妇毛片免费看 | 日本免费在线观看视频 | 97成人精品区在线播放 | 亚洲 日本 欧洲 欧美 视频 | 一区二区三区四区在线不卡高清 | 成人毛片区 | 狠狠色丁香婷综合久久 | 一区视频在线免费观看 | 最新精品国偷自产在线婷婷 | 中文久久乱码一区二区 | 天天摸日日摸爽爽狠狠 | 99re66久久在热青草 | 91久久婷婷国产一区二区三区 | 国产精品国产三级国产专播品爱网 | 18在线观看视频 | 男人懂得网站 | 成人欧美一区二区三区a片 国产午夜亚洲精品不卡网站 | a 成 人小说网站在线观看 | 狠狠av| 亚洲天堂网av在线 | av无码电影一区二区三区 | 在线观看国产黄色 | 成人午夜视频在线 | 国产特级毛片aaaaaa毛片 | 9九色桋品熟女内射 | 天天躁狠狠躁狠狠躁性色牛牛影视 | 孕妇爱爱视频 | 99视频精品在线 | 国产精品亚洲а∨天堂免下载 | 日本一级黄色毛片 | 国产亚洲精品久久久久妲己 | 国产免费又黄又爽又刺激蜜月al | 黑人与中国少妇xxxx视频在线 | 在线免费中文字日产 | 亚洲性片 | 中文字幕在线视频免费观看 | 国产自啪精品视频网站丝袜 | 猫咪www免费人成网站无码 | 日韩免费在线看 | 青草青草视频2免费观看 | 欧美国产91 | 五月六月丁香婷婷激情 | 在线观看麻豆国产传媒61 | 国产1区2| 成人午夜在线观看 | 99久久国产综合精品女图图等你 | 久久福利网 | 国产乱码精品一区二区三区中文 | 久久久性视频 | 亚洲一级视频在线观看 | www.av资源 | 亚洲精品一区二区三区98年 | 大又大又粗又硬又爽少妇毛片 | 天天摸天天做天天爽 | 最新高清中文字幕免费mv | 成人区人妻精品一区二区不卡 | 欧美一区二区最爽乱淫视频免费看 | 久久精品国自产拍天天拍最新章节 | 欧美一级免费视频 | 亚洲日韩在线中文字幕第一页 | 亚洲a∨国产av综合av下载 | 无码av动漫精品一区二区免费 | 精品一区二三区 | 五月天天爽天天狠久久久综合 | 欧美亚洲网 | 日本高清不卡二区 | 免费国产裸体美女视频全黄 | 国产高清av首播原创麻豆 | 综合在线视频 | 夜夜爽狠狠天天婷婷五月 | 91免费高清无砖码网站 | 日韩在线一二三区 | 亚洲中文超碰中文字幕 | 午夜欧美理论2019理论 | 人妻饥渴偷公乱中文字幕 | 国产精品视频一区二区三区四 | 亚洲 欧美 国产 制服 动漫 | 日本特黄特黄刺激大片 | 国产欧美精品aaaaaa片 | 久久精品国产只有精品96 | 农村真人裸体丰满少妇毛片 | 亚洲小说乱欧美另类 | 免费三级大片 | 性刺激的欧美三级视频中文 | 免费网站内射红桃视频 | 久久久久久久久97 | 三级经典三级日本三级欧美 | 精品国偷自产在线视频九色 | 吃奶揉捏奶头高潮视频在线观看 | 成人综合影院 | 一区二区三区国产在线观看 | 国产视频一区二区 | 丁香色欲久久久久久综合网 | 欧美一级视频 | 在线观看av大片 | 亚洲人成电影在线观看影院 | 国产精品久久久999 色五月丁香五月综合五月 人妻互换免费中文字幕 | 国色天香网www在线观看 | 狠狠色噜噜狠狠狠狠777米奇 | 人人妻人人做从爽精品 | 亚洲同性猛男毛片 | 欧美最猛黑人xxxx黑人猛叫黄 | 一级黄色片中文字幕 | 亚洲情欲网 | 欧美大片欧美激情性色a∨在线 | 无码丰满人妻熟妇区 | 久久精品这里有 | 成人99| 国产又黄又硬又粗 | 亚洲69av| 无码 制服 丝袜 国产 另类 | 国产精品国产三级国产专区51 | 91看片免费看 | 亚洲欧美国产视频 | 免费啪 | 国产女人高潮大叫a毛片 | 99久久精品国产免费 | 色天堂在线视频 | 狠狠色狠狠色综合系列 | 国产精品原创巨作av女教师 | 看全黄大色黄大片美女 | 99精产国品一二三产区在线 | 人人网碰人人网超 | 日本一本免费一二区 | 亚洲欧美自偷自拍视频图片 | 青青草av| 日本a v网站 | 免费看的一级视频 | 日本少妇一级 | 清纯校花高潮娇喘喷白浆 | 夜夜躁狠狠躁日日躁2022 | 中文字幕av网址 | 免费在线观看日韩 | 国产精品久久久久久久毛片明星 | 国产浮力第一页 | 无码人妻精品一区二区在线视频 | 色两性网欧美 | 日韩毛片网站 | 午夜精品一区二区三区在线 | 日本在线a一区视频高清视频 | 亚洲乱码在线卡一卡二卡新区豆瓣 | 26uuu亚洲婷婷狠狠天堂 | 小早川怜子久久精品中文字幕 | 午夜影皖精品av在线播放 | 成人无码影片精品久久久 | 久久久国产精华液 | 黑人巨大粗物挺进了少妇 | 亚洲tv久久爽久久爽 | av片手机在线观看 | 国产欧美在线一区 | 97黄色网 | 亚洲精品中文字幕久久久久下载 | 性猛交xxxx乱大交3 | 亚洲成av人片在线观看无码 | 久草一级 | 欧美黑人巨大xxxxx视频 | 夜夜未满十八勿进的爽爽影院 | 国产av一区最新精品 | 草久视频在线观看 | 人人综合亚洲无线码另类 | 女人被弄到高潮的免费视频 | 欧美日韩中文字幕在线观看 | 国产成人精品无码片区在线观看 | 久久久久久久久888 中文字幕亚洲在线观看 | 91精品在线视频观看 | 涩涩精品| 欧美激情亚洲色图 | 日韩综合亚洲色在线影院 | 大陆熟妇丰满多毛xxxx | 亚洲一区二区日本 | 亚洲三页| 亚洲成a人片在线不卡一二三区 | 欧美人与按摩师xxxx | 91嫩草精品少妇 | 国产午夜精品av一区二区麻豆 | 另类亚洲综合区图片小说区 | 亚洲黄色在线观看视频 | 97色伦图| 女人又爽又高潮毛片 | 亚洲国产精品线久久 | 精品久热| 国产成人av在线婷婷不卡 | 日日干夜夜爱 | 不卡精品视频 | 久久久男人天堂 | 日夜夜操| 西西人体大胆瓣开下部自慰 | 国产乱淫a∨片免费视频牛牛 | 亚洲精品无码午夜福利中文字幕 | 色噜噜狠狠狠狠色综合久一 | 久久人人爽人人爽人人片av高清 | 中文字幕日产无线码一区 | 中文字幕无码精品三级在线电影 | 午夜精品久久久久久久99热蜜臀 | 中文字幕在线视频免费观看 | a级片久久久 | 四川骚妇无套内射舔了更爽 | 国产成人丝袜视频在线观看 | 中文字幕第10页 | 人人爽久久久噜人人看 | 国产精品欧美亚洲韩国日本久久 | 国产无遮挡18禁无码网站免费 | 99久久婷婷国产精品综合 | 欧美国产日韩在线观看成人 | 在线观看精品91福利 | 图片专区亚洲欧美另类 | 欧美日韩在线国产 | 久久精品青青草原伊人 | 成人免费观看男女羞羞视频 | 337p大尺度啪啪人体午夜 | 国产伦子伦对白在线播放观看 | 国产精品免费久久久久影院仙踪林 | 五月天天爽天天狠久久久综合 | 国产乱人伦 | 午夜剧场免费在线观看 | av无码中出一区二区三区 | 天堂资源在线www中文最新偷拍 | 久久国产加勒比精品无码 | 伊人夜夜躁av伊人久久 | 欧美视频久久久 | 午夜视频在线观看一区二区 | av一二三| 成人福利在线观看 | 欧美色惰 | 秋霞av在线 | 色欧美99| 99久久久无码国产精品动漫 | 欧美尤物视频 | 国产高清欧美 | 亚洲欧美日韩国产精品一区二区 | 又大又粗欧美黑人aaaaa片 | 日本成本人片视频免费 | 久久青草精品欧美日韩精品 | 四虎永久在线精品免费一区二区 | 国产青青操 | 操www| 激情久久小说 | 99av精品孕妇在线 | 狠狠躁夜夜躁人人爽天天bl | 日韩福利av | 亚洲精品国产第一综合99久久 | 天天操人人爽 | 国产欧美一区二区三区四区 | 四库影院永久四虎精品国产 | 日本在线a一区视频高清视频 | 天天干视频 | 成熟老妇女视频 | 亚洲欧美日韩国产成人精品影院 | 蜜桃91丨九色丨蝌蚪91桃色 | 国精品99久9在线 | 免费 | 国产99久久精品一区二区 | 婷婷综合激情网 | 久播影院无码中文字幕 | 91国内自产精华天堂 | 一边摸一边做爽的免费视频日本 | 成熟人妻av无码专区a片 | 人人妻人人澡人人爽曰本 | 日日夜夜嗷嗷叫 | 黄色激情网站 | 人妻丰满熟妇a无码区 | 亚洲精品久久久久一区二区三区 | 午夜小影院 | 老女人色黄大片 | 国产麻豆剧果冻传媒星空视频 | 一本之道色综合网站 | 射精区-区区三区 | 女女互磨互喷水高潮les呻吟 | 国产激情大臿免费视频 | 伊人视屏 | 国产99视频精品免费观看6 | 久热精品在线 | 免费看内射乌克兰女 | 欧美精品一区三区 | 日本牲交大片无遮挡 | 亚洲免费视频观看 | 成人欧美一区二区三区在线观看 | 国产综合中文字幕 | 久久久久久高清 | 亚洲日韩a∨无码久 | 日韩动态视频 | 欧美制服丝袜亚洲另类在线 | 欧美日产亚洲国产精品 | 波多野结衣一区二区三区 | 久久99精品久久久久久园产越南 | 欧美性高潮 | 黄色一级片在线播放 | 亚洲天堂视频网站 | 精品视频一区二区三区中文字幕 | 最近免费中文字幕mv在线视频3 | 久久国产亚洲高清观看 | 伊人久久大香线焦av综合影院 | 亚洲影院中文字幕 | 草草影院网址 | 欧美亚洲国产视频 | 日韩福利视频网 | 久久999精品久久久有什么优势 | 亚洲 校园 欧美 国产 另类 | 成人无码α片在线观看不卡 | 中文字幕在线日亚洲9 | 99精品偷拍在线中文字幕 | 六月天色婷婷 | 北条麻妃在线一区二区三区 | 久热精品视频天堂在线视频 | 亚洲国产精品人人做人人爱 | 911露脸国语对白 | 日本一本免费一二区 | 总裁男男互攻互受h啪肉np文 | 欧美性大战久久久久久久 | 天堂√最新版中文在线地址 | 国产成人亚洲影院在线观看 | 免费操片| 极品少妇在线观看 | 亚洲午夜精品久久久久久人妖 | 免费看性视频xnxxcom | 国产伦理一区二区 | 鸭子tv国产在线永久播放 | 青青青国产依人在线 | 欧美一级性视频 | 国产99视频精品免费观看9 | 8090色| 日日躁夜夜躁狠狠躁夜夜躁 | 亚洲欧美色一区二区三区 | 久久国产免费观看精品a片 国产人妻人伦精品1国产丝袜 | 亚洲精品欧洲精品 | 国产无吗一区二区三区在线欢 | 成人涩涩软件 | 婷婷在线一区 | 久国产精品 | 中国少妇裸体淫交 | 亚洲中文有码字幕日本第一页 | 奇米777四色成人影视 | 黄色尤物视频 | 日本精品视频在线播放 | 久久精品黄色 | 午夜福利无遮挡十八禁视频 | 成人免费在线视频观看 | 老头把我添高潮了a片 | 好屌草这里只有精品 | 无码少妇一区二区浪潮av | 18禁男女无遮挡啪啪网站 | 欧美一级视频在线观看 | 草av| 免费无码av片在线观看播放 | 东北农村女人乱淫免费视频 | 欧美黄网址| 成人精品一区二区三区电影 | 国产成人精品三级麻豆 | 美日韩一区 | 人人爽人人添人人超 | 成人黄色小视频 | 日韩最新在线 | 97涩涩图 | 麻豆果冻传媒2021精品传媒一区 | 国产网友愉拍精品视频手机 | 三上悠亚一区二区三区在线 | 亚洲免费影视 | 少妇视频一区二区三区 | 黑人欧美一区二区三区4p | 特级毛片在线 | 中文无码日韩欧av影视 | 日韩好片一区二区在线看 | 国产乱女淫av麻豆国产 | 成人午夜激情网 | 午夜少妇一级福利 | 亚洲最大激情中文字幕 | 2021精品亚洲中文字幕 | 天天做天天看 | 最新国模无码国产在线视频 | 免费黄色欧美视频 | 无尽夜久久久久久久久久 | 无码av无码天堂资源网 | 精品亚洲国产成人a片app | 久久看视频只这 | 男人扒女人添高潮视频 | 久久不见久久见www免费视频 | 午夜剧场免费看 | 中文字幕亚洲精品在线观看 | 亚洲中文字幕成人综合网 | 美艳麻麻诱子乱小说 | 老司机精品导航 | 五月激情日韩欧美啪啪婷婷 | 性做久久久久久久久 | 国产男女精品视频 | 天天插天天射 | 乱人伦中文无码视频在线观看 | 老司机久久99久久精品播放 | 性调教炮机捆绑爆浆喷水 | 极品主播超大尺度福利视频在线 | 色拍拍在线精品视频 | 国产aⅴ丝袜一区二区三区尤物 | 国产毛片a高清日本在线 | 日本高清视频在线 | 亚洲国产成人久久三区 | av作品在线 | 日韩精品在线免费观看视频 | 扶她强h文巨肉高h | 一区二区高清国产在线视频 | 日韩在线视频网址 | 欧美精品一区二区性色 | 亚洲一区二区经典在线播放 | 国产色区 | 中文精品一区二区 | 国产特级毛片aaaaaa毛片 | 手机看片国产 | 色欲老女人人妻综合网 | 中文丝袜人妻一区二区 | 日日碰夜夜操 | 亚洲国产一区二区a毛片日本 | 欧美99久久无码一区人妻a片 | 色婷婷我要去我去也 | 成人精品18m国产免费网站 | 欧美日韩se| 人人爽人人澡人人人妻、百度 | 成人羞羞视频播放网站 | 亚洲欧美国产高清va在线播放 | 久热精品在线观看 | 色妞精品av一区二区三区 | 国产激情综合网 | 日韩乱码人妻无码中文字幕 | 91视频免费网址 | 99热精品在线 | 日本特黄特色aaa大片免费 | 精品国产乱码久久久久久蜜臀网站 | 天天躁夜夜躁狠狠躁2021 | 人妻av无码中文专区久久 | 草草女人院 | av资源免费| 欧美日韩在线视频一区 | 午夜伦4410yy妇女久久v | 国产精品久久久久久久久大全 | 午夜影院在线观看 | 五月久久久综合一区二区小说 | 九色porny丨精品自拍视频 | 亚洲香蕉伊综合在人在线观看 | 国产精品欧美久久久久天天影视 | 亚洲中文无码成人片在线观看 | 国产成人福利美女观看视频 | 国产精品无码久久av嫩草 | 一道本av在线 | 国产真实伦对白全集 | 日日干天天 | 色婷婷综合激情综在线播放 | 一本色综合网久久 | 日本999视频 | 亚洲国产精品第一区二区 | 帮老师解开蕾丝奶罩吸乳视频 | 乱码av午夜噜噜噜噜动漫 | 在线天堂资源www中文 | 永久免费无码av在线网站 | 亚洲欧美一区二区三 | 日本又黄又爽gif动态图 | 欧美激情国产精品日韩 | 人妻无码系列一区二区三区 | 美国毛片aa | 国产夜色视频 | 午夜高潮 | 精品国产一区二区三区忘忧草 | 国产微拍无码精品一区 | 国产美女精品一区二区三区 | 午夜成人鲁丝片午夜精品 | 国产精品第二页 | 97在线观看永久免费视频 | 尤物193在线人妻精品免费 | 亚洲综合久久精品无码色欲 | 中文无码日韩欧免费视频 | 久久久精品人妻一区二区三区 | 日本无遮羞打屁股网站视频 | 西西人体444www大胆无码视频 | 久久精品国产福利一区二区 | 日本人配人免费视频人 | 亚洲三级成人 | 狠狠操伊人| 四虎伊人 | 日本一道aⅴ不卡免费播放 小说区图片区视频区 | 国产成人无码av在线影院 | 麻豆精品一区二区三区 | 亚洲男女一区二区三区 | www视频在线观看免费 | 91丨porny在线牛牛影视 | 亚洲激情av | 亚洲一码二码三码精华液 | 欧美成人aaaa免费全部观看 | 天天摸天天舔天天操 | 国产真实夫妇视频 | 无码不卡一区二区三区在线观看 | 一区二区成人在线 | 少妇与黑人xoyyyyy视频 | 成人网站免费观看 | 手机在线看片你懂的 | 亚洲免费视频播放 | 国产伦精品一区二区三区视频黑人 | 精品色综合 | 三级全黄做爰在线观看 | 久色91蜜桃tv | 国内精品国产成人国产三级粉色 | 污污污污污污www网站免费 | 亚洲综合精品久久 | 丁香花完整视频在线观看 | 神马午夜91| 国内精品久久毛片一区二区 | 美女穴穴 | youporn国产在线观看 | 国产精品免费高清在线观看 | 国产一区二区三区av在线无码观看 | 男女啪啪无遮挡免费网站 | 猫咪av成人永久网站网址 | 在线看欧美 | 精品淑女少妇av久久免费 | 欧美伦理一区二区三区 | 人妻一本久道久久综合久久鬼色 | 欧美一级淫片免费视频魅影视频 | 狠狠色图片 | 日本熟妇色xxxxx欧美老妇 | 久久久久影院色老大2020 | 日韩.www| 男人的天堂网在线观看 | 成人国产mv免费视频 | 中文字幕在线观看欧美 | 少妇激情a∨一区二区三区 欧美亚洲另类自拍 | 亚洲欧美18v中文字幕高清 | 无码中文字幕免费一区二区三区 | 99热999 | 中文字幕一二区 | 永久视频在线观看 | 精品国产91乱码一区二区三区 | 欧美性黑人极品hd变态 | 免费1级a做爰片观看 | 亚洲成a人片在线观看的电影 | 一区二区免费播放 | 成人性视频网站 | 狠狠色狠狠色五月激情 | jjzz日本视频| 青青青青国产免费线在线观看 | 亚洲香蕉视频综合在线 | 91天堂影院| 国产免费网站看v片在线观看 | 亚洲日韩穿丝袜在线推荐 | 亚洲日本一区二区三区 | 一本大道久久a久久精二百 最近中文字幕在线免费观看 | 青青草免费在线观看 | 一区二区狠狠色丁香久久婷婷 | www.91porny.com | 调教重口xx区一精品网站 | 久久久精品毛片 | 草裙社区精品视频播放 | 狂野欧美激情性xxxx在线观看 | 无码国产欧美一区二区三区不卡 | 国产乱码在线 | 日本一卡二卡3卡四卡网站精品 | 亚洲成人网在线 | 伊人精品久久久久中文字幕 | 亚洲免费视频一区 | 国产白丝一区二区三区 | 在线无码免费网站永久 | 中文成人无码精品久久久不卡 | 亚洲免费在线播放视频 | 麻豆文化传媒精品一区观看 | jzzijzzij亚洲成熟少妇18 久久亚洲成人av | 欧美人与动xxxxz0oz视频 | 欧洲黄视频 | 亚洲精品第一页 | 日本xxxxxxx日本护 | a天堂资源在线 | 国内爆初菊对白视频 | 91久久婷婷国产一区二区三区 | 国产精品露脸国语对白 | 亚洲一卡二卡三卡 | 好紧好湿好爽免费视频 | 中文字幕乱码免费 | 天天看天天爽 | 亚洲大尺度专区无码浪潮av | 性 毛片 | 韩国激情高潮无遮挡hd | av一本久道久久波多野结衣 | 国产影片中文字幕 | 国产亚洲精品久久久ai换脸 | 久久国产欧美成人网站 | 免费看成人欧美片爱潮app | 无码乱人伦一区二区亚洲一 | 亚洲欧美在线制服丝袜国产 | 久草在线这里只有精品 | 欧美三級片黃色三級片黃色 | 伊人久久久久久久久久久久 | 国产精品久久久久久久影院 | 交视频在线播放 | 国产啪精品视频网站丝袜 | 成人女人免费毛片 | 国产成人在线免费观看视频 | 亚洲久久中文字幕www网站 | 99国产在线播放 | 亚洲精品成人福利网站app | 尤物av无码国产在线观看 | 国产美女无遮挡永久免费 | av无码岛国免费动作片 | 国产成人综合精品 | 欧美极品jiizzhd欧美暴力 | 日产免费一区二区 | 亚洲色欲av无码成人专区 | 成人免费无码大片a毛片 | 9色视频在线观看 | 久久激情小说 | 调教套上奶牛榨乳器喷奶水 | 国产交换配乱淫视频a免费 久操综合 | 暖暖视频 免费 日本社区 | 中国少妇做爰全过程毛片 | 欧美最猛性xxxxx(亚洲精品) | 国产精品久久久久久久裸模 | 黄色二级毛片 | 九九视频在线观看6 | 欧美精品免费视频 | 天干夜天干天天天爽视频 | 99国产精品久久久久久 | 久久久网址 | 99久久婷婷国产综合精品青草漫画 | 国产免费又黄又爽又色毛 | 91久久香蕉国产日韩欧美9色 | 人妻无码一区二区视频 | 无码人妻丝袜视频在线播免费 | 欧美激情老妇 | 成人免费一级片 | 久久久久久久av | 无码超乳爆乳中文字幕久久 | 欧美在线中文 | 人妻少妇精品视频无码专区 | 精品国产丝袜自在线拍国语 | 亚洲成人a v| 国产在线精品一区二区 | 综合欧美丁香五月激情 | 亚洲免费网站观看视频 | 亚洲性综合 | 男阳茎进女阳道视频大全 | 无码人妻巨屁股系列 | 手机字幕在线中文乱码怎么解决 | 性生交生活大片免费看 | 天天影视色香欲综合网一寡妇 | 精品亚洲视频在线观看 | 国产在线观看黄av免费 | 久久丝袜脚交足免费播放导航 | 国产精品日产欧美久久久久 | 色爱无码av综合区 | 国产乱码精品一区二区蜜臀 | 国产精品欧美亚洲777777 | 懂色av蜜臀av粉嫩av | a在线亚洲男人的天堂 | 国产a久久| 亚洲大胆人体 | 久久精品国产成人午夜福利 | 久久女同互慰一区二区三区 | 欧美人性生活视频 | 国外亚洲成av人片在线观看 | 精品女同一区二区 | 浪潮av一区二区 | 真实处破女刚成年av网站 | 日本熟妇浓毛hdsex | 国色天香社区在线视频观看 | 亚洲色图欧美 | 91精品国产成人观看 | 日本高清二区 | 国产精品久久人人做人人爽 | 免费无码a片一区二三区 | 精品国产福利久久久 | 久久久鲁鲁鲁 | 伊人丁香狠狠色综合久久 | 亚洲欧美日韩一级 | 久久午夜夜伦鲁鲁片免费无码影院 | 国产制片厂爱豆传媒在线观看 | 最新av中文字幕无码专区 | 人妻少妇精品无码专区动漫 | 国产自偷在线拍精品热乐播av | 国产小视频免费观看 | 99精品偷自拍| 一个本道久久综合久久88 | 日韩a视频| 真实国产乱子伦对白视频不卡 | 国产对白乱刺激福利视频 | 日本国产成人国产在线播放 | 国精品无码一区二区三区在线蜜臀 | 国产日本精品视频在线观看 | 国产熟睡乱子伦视频 | 天天操天天谢 | 奇米一区二区三区 | 国产偷窥熟精品视频 | 国产精品jizz在线观看麻豆 | 麻豆国产91在线播放 | 男人和女人在床的app | 性久久久久久久久久久久 | 最新精品国偷自产在线美女足 | 天堂九九| 影音先锋中文字幕第一页 | 亚洲三级黄色 | 四虎影视久久久免费观看 | 日韩福利一区二区 | 四虎国产精品成人影院 | 亚洲福利视频一区二区三区 | 人人爽人妻精品a片二区 | 欧洲亚洲色视频综合在线 | 欧洲吸奶大片在线看 | 成人播放视频 | 成人自拍一区 | 亚洲精品92内射 | 美女初尝巨物嗷嗷叫自拍视频 | 一二三区视频在线观看 | 99精品国产一区二区 | 中文天堂 | 日韩av无码社区一区二区三区 | 精品久久久久久无码免费 | 国产美女精品一区二区三区 | 亚洲精品人成 | 九热精品视频 | 国产午夜精品一区二区三区四区 | 国产在线精品无码不卡手机免费 | 97色网| 国产三级在线播放 | 婷婷久久久亚洲欧洲日产国码av | 伊人久久大香线蕉av专区性呦 | 免费午夜无码视频在线观看 | 黄色激情视频在线观看 | 国精产品一区一区三区mba视频 | 青青视频在线免费观看 | 成人性生交大片免费看 | 亚洲黄色的 | 天堂在线.www天堂在线资源 | 最新国产aⅴ精品无码 | 性无码免费一区二区三区在线 | 国产又黄又猛的视频 | 国产伦子沙发午休系列资源曝光 | 久久中文字幕伊人小说小说 | 九1热综合这里都是真品 | 亚洲欲色欲香天天综合网 | 福利网址在线观看 | 成人h精品动漫一区二区三区 | 色综合色狠狠天天综合色 | 亚洲中文字幕无码人在线 | 国产欧美日韩视频在线观看 | 99精品久久久久久久久久综合 | 国产成年女人特黄特色毛片免 | 97国产精华最好的产品久久久 | 日韩欧美中 | 亚洲男女天堂 | 欧美乱论视频 | 国产日韩视频一区 | 日日干视频 | 精品少妇久久 | 国产日产精品一区二区三区四区的观看方式 | 天堂社区在线 | 一级黄网站 | 日日夜夜精品视频免费 | 精品少妇无码av在线播放 | 日本aⅴ免费视频一区二区三区 | 国产一区二区三区色 | 成人综合网址 | 亚洲欧美乱日韩乱国产 | 99久久精品国 | 久久久久久久综合色一本 | 337p日本大胆欧久久 | 在线观看你懂的网址 | 草草地址线路①屁屁影院成人 | 成人一区av偷拍 | 亚洲爆乳无码精品aaa片蜜桃 | 国产97在线 | 中文 | 天堂久久爱资源站www | 国产精品久久久影院 | 免费观看美女用震蛋喷水的视频 | 性欧美video高清丰满 | 国内老熟妇对白hdxxxx | 国产人成免费爽爽爽视频 | 午夜少妇福利 | 久久精品国产99久久6 | 亚洲一二三区在线 | 三上悠亚一区二区三区 | 国产综合久久精品 | 九九热在线视频播放 | 国产成人亚洲精品无码青 | 美女赤身免费网站 | 日本www色视频 | 亚洲午夜成人精品无码色欲 | 美日韩免费 | 亚洲熟区| 亚洲一区二区三区在线观看网站 | 亚洲乱 亚洲乱 亚洲 | 色噜噜狠狠色综合成人网 | 日韩香蕉网 | 黄色成人在线 | 国产区女主播在线观看 | 91爱啪 | 亚洲人成人无码www 特级无码毛片免费视频播放 | 久久99精品久久久久久婷婷2021 | 久久精品国产亚洲欧美 | 免费国产a国产片高清网站 午夜精品成人一区二区视频 | 久久精品午夜福利 | 亚洲国产成人在线 | 超碰95在线| 国产69精品久久久久人妻 | 天天综合日韩 | 亚洲成人网在线播放 | 中国少妇av| 一本色道久久99精品综合 | 欧美专区视频 | 久久精品99av高久久精品 | 亚洲一本之道高清乱码 | 在线视频一二三区 | 少妇内谢xxxx | 亚洲高清一区二区三区不卡 | 亚洲伦理99热久久 | 日韩午夜一区二区三区 | 啪啪网站免费看 | 欧美日本日韩aⅴ在线视频 另类亚洲小说图片综合区 国产精品免费福利久久 | 久热中文字幕无码视频 | 操夜夜| 天堂最新资源 | 狠狠操中文字幕 | 久久国产精品嫩草影院的使用方法 | av综合影院 | 日本少妇翘臀啪啪无遮挡软件 | 99毛片| 一级片免费在线 | 精品少妇ay一区二区三区 | 国产精品夜夜春夜夜爽久久老牛 | 狠狠色狠狠色综合伊人 | 国产黄a三级三级三级老年人 | 日韩欧美大片 | 一本大道久久a久久精二百 最近中文字幕在线免费观看 | 久久久久国色av免费看图片 | 欧美成人精品激情在线观看 | 无码潮喷a片无码高潮视频 久久久综综合色一本伊人 不卡影院av | 国产成人高清成人av片在线看 | 热99re久久精品 | 日韩三级视频在线观看 | 9久9久热精品视频在线观看 | 法国贵妇乱女淫 | 国产乱性| 国产美女精品视频线免费播放软件 | 日日摸夜夜摸狠狠摸婷婷 | 中文字幕人妻丝袜二区 | 521香蕉网站大香网站 | 99精品视频在线导航 | 欧美专区在线观看 | 成熟丰满熟妇高潮xxxxx视频 | 亚洲欧美视频在线播放 | 日本高清www午色夜在线视频 | 高清熟女国产一区二区三区 | 男女吃奶做爰猛烈紧视频 | 97无码精品综合 | xxxxx在线观看 | 国产精品一v二v在线观看 | 日产区一线二线三av | 99精品电影一区二区免费看 | 免费无码h肉动漫在线观看 中日韩无砖码一线二线 | 亚洲色无码综合图区手机 | 天天干天天色天天射 | 亚洲色一色噜一噜噜噜 | 日产中文字幕在线精品一区 | 成人无码视频在线观看网址 | 久热中文字幕 | 青青草手机在线观看 | 久草欧美视频 | 老子影院午夜伦不卡 | 一区二区三区视频在线观看免费 | 少妇高潮水多太爽了动态图 | 欧美视频免费看欧美视频 | 中文字幕息子101在线 | 麻豆国产原创视频在线播放 | 888米奇色狠狠俺去啦小说 | 91丨porny丨国产麻豆 | 999亚洲国产精 | 凹凸日日摸日日碰夜夜 | 一级在线视频 | 97国产精华最好的产品 | 国产精品自产拍高潮在线观看 | 国产又粗又猛又黄又爽 | 日韩亚洲欧美综合 | www.av不卡 | 十八禁午夜私人在线影院 | 国产三级av在线 | 免费看美女部位隐私网站 | 色网在线观看 | 五月天激情国产综合婷婷婷 | 大肉大捧一进一出好爽视色大师 | 884aa四虎影成人精品 | 美女高潮久久 | 夜夜操操 | 日韩久久国产 | 婷婷丁香六月 | 日本体内she精高潮 日本成人三级 | 天堂а√在线最新版中文 | 免费欧三a大片 | 国产女高清在线看免费观看 | 欧美黑吊大战白妞 | 久久国产精品精品国产 | 日本饥渴人妻欲求不满 | 羞羞视频在线观看入口 | 久久人妻av中文字幕 | 日本边添边摸边做边爱的网站 | 婷婷无套内射影院 | 亚洲色图首页 | 中文字幕理伦午夜福利片 | 亚洲精品国偷拍自产在线观看蜜臀 | jizzjizz欧美69巨大 | 在线天堂√8 | av网站不卡| 亚洲五十路 | 色婷婷亚洲精品综合影院 | 欧美交a欧美精品喷水 | 神马午夜视频 | 妻色成人网 | 伊人五月天婷婷 | 91免费版成人 | 看国产黄色大片 | 狠狠躁18三区二区一区ai明星 | 激情15p| 天天做天天爱天天爽综合网 | 国产无遮挡一区二区三区毛片日本 | 国产女厕偷窥系列在线视频 | 国产av剧情md精品磨豆 | 国产精品视频你懂的 | 国产精品青草久久福利不卡 | 三级伊人 | 午夜精品一区二区三区三上悠亚 | 四虎永久在线精品8848a | 永久视频在线 | 99热最新 | 亚洲成人aa | 国产精品久久久久精 | 亚洲精品尤物av在线观看不卡 | 国产精品福利一区 | 伊人色网站 | 福利视频入口 | 艳妇乳肉豪妇荡欧美片堕落 | 在线观看亚洲欧美 | 国产极品美女高潮无套久久久 | 亚洲精品第一页 | 国产精品高清一区二区三区不卡 | 思思re热免费精品视频66 | 欧美黄色专区 | 国产69页 | 免费网站在线观看黄色 | 99麻豆久久久国产精品免费 | 国产亚洲精品a在线 | 日韩精品一区在线视频 | 久久久久亚洲精品男人的天堂 | 很很鲁在线视频播放影院 | 日韩一区二区三区射精-百度 | 久久久久久福利 | 婷婷久久综合九色综合色多多蜜臀 | 成人在线播放网站 | 国产自在自线午夜精品视频 | 欧美性做爰片免费视频看 | 最新国产aⅴ精品无码 | 999视频在线观看 | 成人精品免费看 | 无码一区二区三区亚洲人妻 | 五月婷婷欧美 | 亚洲免费黄色片 | 亚洲国产欧美一区 | 又色又爽又黄还免费毛片96下载 | 天天爽夜夜爽人人爽88 | 久久亚洲国产成人影院 | 久久天天综合桃花久久 | 欧美裸体xxxx极品少妇 | 国内偷拍第一页 | 中文无码乱人伦中文视频播放 | 久久鲁视频| 成人啪啪18免费网站 | 亚洲天天摸日日摸天天欢 | 黄色成人小视频 | 欧美精品videosex性欧美 | 亚欧综合在线 | 在线一区 | 中文字幕一区二区三区在线播放 | 国内精品自线一区二区三区 | 色婷婷激情综合 | 色噜噜狠狠一区 | 免费毛片在线播放 | 首页 动漫 亚洲 欧美 日韩 | 中文字幕巨乳 | 最新国产99热这里只有精品 | 亚洲宅男精品一区在线观看 | 天天爽夜夜爽视频 | 岛国中文字幕 | 国产极品美女高潮视频写真网址 | 18禁美女黄网站色大片在线 | 无码视频免费一区二三区 | 日韩卡二卡三卡四卡永久入口 | 日本少妇裸体做爰高潮片 | 在线а√天堂中文官网 | 4hu四虎永久免费地址ww416 | 亚洲成vr人片在线观看天堂无码 | 中文精品一区二区三区四区 | 久久人人爽人人爽人人片av超碰 | 国产特级毛片 | 天堂av中文 | 国产肉体xxxx裸体784大胆 | 国产有码av | 青青草国产免费久久久下载 | 老熟妇午夜毛片一区二区三区 | 亚洲色欧美色2019在线 | 视频一区 中文字幕 | 午夜福利09不卡片在线机视频 | 中文无码一区二区三区在线观看 | 精品永久久福利一区二区 | 福利午夜视频 | 麻豆av字幕无码中文 | 欧美一区二区三区激情 | 欧美亚洲日本在线 | 欧美丰满美乳xxⅹ高潮www | 欧美人禽杂交狂配 | 欧美日韩精品人妻狠狠躁免费视频 | 美女粉嫩饱满的一线天mp4 | 天天射网 | 久久久久久人妻毛片a片 | 日本精品少妇一区二区三区 | 毛又多又黑少妇a片视频 | 美女下半身无遮挡免费网站 | 成人性生交大片免费看9999 | 亚洲黄色录像 | 野花社区www视频最新资源 | 免费观看女人高潮视频软件 | 精品免费一区二区三区 | 产无套精品一线二线三线 | 无码国内精品人妻少妇蜜桃视频 | 一本色道久久爱88av | 欧美二区视频 | 国产精品久久久久久爽爽爽 | 日本xxx大片免费观看 | 国语精彩对白2021 | 日本一级特黄aa大片 | 欧美男人的天堂 | 亚洲欧美日韩国产综合在线一区 | 亚洲日韩激情无码一区 | 中文屏幕乱码av | 国产精品尹人在线观看 | 国产精品一区二区含羞草 | 无码人妻丰满熟妇a片护士 日韩黄色影视 | 久久婷婷六月 | 久久精品久久精品中文字幕 | 国产97超碰人人做人人爱 | 亚洲欧洲自拍 | 久久这里只有精品首页 | 成人影片麻豆国产影片免费观看 | 天堂www天堂在线资源 | 中日韩文字幕无线网站2013 | 精品国产乱码久久久软件使用方法 | 国产中文字幕网 | 欧美在线视频一区二区 | 视频一区在线观看 | 开心五月激情综合婷婷色 | 欧洲美妇乱人伦视频网站 | 四虎影视永久在线 | 三级全黄的视频 | 久草资源在线观看 | 男女18禁啪啪无遮挡激烈 | 欧美一区二区喷水白浆视频 | 日韩激情一区二区三区 | 一边捏奶一边高潮视频 | 蜜臀av在线一区 | 狠狠做五月深爱婷婷 | 奇米一区二区 | 国产美女视频黄a视频免费 久久久久久久久久久久影院 | 能直接看的av | 最近免费中文字幕mv在线视频3 | 成人h免费观看视频 | 色欲aⅴ亚洲情无码av蜜桃 | 老司机精品无码免费视频 | 在线观看国产亚洲视频免费 | 久久亚洲日韩av一区二区三区 | 亚洲无圣光 | 国产乱妇乱子 | 亚洲综合精品第一页 | 国产无套粉嫩白浆内精在线网站 | 亚洲成人一区在线观看 | 亚洲人成电影在线观看影院 | 免费一区二区无码东京热 | 中文字幕超清在线免费 | 国内成人免费视频 | 中文字幕在线视频一区 | 性zoz0交肉体 | 一区二区不卡av免费观看 | 亚洲中文字幕精品一区二区三区 | 国产精品爽爽爽 | 亚洲aaaa级特黄毛片 | 999久久久精品视频 日韩大片在线永久免费观看网站 | 一级片国产| 国产中的精品suv | 欧美亚洲综合在线一区 | 亚洲欧洲一区二区三区 | 久久国产精品无码一区二区三区 | 一道本无吗一区 | 亚洲日韩精品无码专区网站 | 国产精品日本一区二区在线播放 | 欧美不卡在线播放 | www成人国产高清内射 | 中文av日韩 | 国产日韩欧美 | 亚洲精品无码久久毛片波多野吉衣 | 美女粉嫩饱满的一线天mp4 | 欧美婷婷久久五月精品三区 | 欧美粗又大 | 热久久久久久久 | 午夜精品一区二区国产 | 色综合视频在线 | 一级性视频 | 老司机深夜18禁污污网站 | 伊人久久久久久久久 | 国产亚洲精品字幕在线观看 | 五月天丁香综合 | 午夜剧场免费在线观看 | 欧美性淫爽ww久久久久无 | 国产精品美女久久久网av | 国产av久久人人澡人人爱 | 欧美激情图区 | 欧美精品免费在线观看 | 女人天堂影院 | 久久久综综合色一本伊人 | 91人人爽 | 神马久久午夜 | 午夜精品久久久久久久传媒 | 色欲综合久久躁天天躁 | 亚洲天堂社区 | 91探花福利精品国产自产在线 | 国产精品无码av片在线观看播放 | 嫩草影院懂你的 | av在线黄 | 国产精品99久久免费黑人人妻 | 国产午夜精品久久久久久 | 国产二级一片内射视频插放 | 特级西西444www大精品视频免费看 | 亚洲综合精品久久 | 亚洲日韩精品射精日 | 黑人性视频 | 亚洲色图视频在线 | 国产在线拍偷自揄拍无码 | 亚洲人 屁股 鞭打网站 | 一本色道久久88综合日韩精品 | 中日韩无砖码一线二线 | 青春草在线视频 | 久久激情综合网 | 午夜在线看片 | 色一欲一性一乱—区二区三区 | 女女av在线 | 1区2区3区高清视频 欧美成人精品高清视频 | 亚洲日本色 | 国内精品国产成人国产三级粉色 | 亚洲网站在线看 | 欧美专区亚洲专区 | 超碰97免费 | 国产艳情熟女视频 | 国内精品乱码卡一卡2卡麻豆 | 少妇又紧又色又爽又刺激视频 | 中文乱码字慕人妻熟女人妻 | 免费的一级黄色片 | 免费99精品国产自在现线 | 无码熟妇人妻av在线影院 | 久精品国产欧美亚洲色aⅴ大片 | 亚洲 日韩 国产欧美 另类 | 久久国产精品影视 | 一二三四社区在线中文视频 | 国产中文成人精品久久久 | 91欧美激情一区二区三区成人 | 亚洲一区综合 | 黄色大片一级片 | 四虎国产精品永久免费网址 | 香蕉国产在线 | 国产午夜精品一区理论片 | 麻花豆传媒剧国产免费mv在线 | 国产香蕉久久精品综合网 | 91精品视频网站 | 国产女人伦码一区二区三区不卡 | 国产成人精品日本亚洲网站 | 免费毛片无需任何播放器 | 色综合久久五月 | 久久不见久久见免费影院www | 免费三级网站 | 亚色中文字幕 | 久久久久久久岛国免费网站 | 99r热| 国产主播一区二区 | 久久精品色欧美aⅴ一区二区 | 26uuu亚洲婷婷狠狠天堂 | 久久99激情 | 久久久久久久久久99 | 国产美女嘘嘘嘘嘘嘘 | 国产热视频 | 在线观看精品视频网站 | 亚洲综合视频一区 | 久久9国产偷伦 | 哺乳溢出羽月希中文字幕 | 国产成人午夜在线视频极速观看 | 国产成人18黄网站在线观看 | 国产成人拍拍拍高潮尖叫 | jizz视频在线观看 | 少妇高潮流白浆在线观看 | 西西大胆午夜视频无码 | 久久中文字幕av | 51永久免费观看国产nbamba | 欧美一卡二卡在线 | 国产免费艾彩sm调教视频 | 欧美性高潮视频 | 日韩精品一区二区三区影院 | 国产丝袜一区视频在线观看 | 国产视频在线一区二区 | www.xxx久久 | 91精品国产一二三 | 亚洲伊人成人网 | 欧美日韩一区二区三区不卡 | 天天爽夜夜爽人人爽qc | 夜夜嗨av 禁果av 粉嫩av懂色av | 国产精品久久久久久久久久辛辛 | 无码任你躁久久久久久 | 少妇激情视频一二三区 | 国产又黄又猛的视频 | 人人妻人人澡人人爽精品欧美 | 视频一区欧美 | 91午夜精品一区二区三区 | 亚洲30p| 久久理伦片琪琪电影院 | 国产成人无码视频一区二区三区 | 国产乱人对白 | 黑白丝美女国产 | 国产亚洲精品久久精品69 | 国产精品久久久久久婷婷 | 成人啪啪高潮不断观看 | 国产片在线天堂av | 黄色av网站在线观看 | 国产精品无码av片在线观看播放 | 欧美精品一区二区a片免费 欧美黑人性生活视频 | 特黄特黄的视频 | 免费国产乱理伦片在线观看 | 国内少妇高清露脸精品视频 | 日本一区二区三区免费观看 | 不卡无码人妻一区二区 | 福利网址在线 | 天天操狠狠操夜夜操 | 中文字幕人妻无码专区 | 女人18毛片水真多 | 欧美在线观看免费专区 | 日本不卡一二三区 | 麻豆一区二区 | 伊人wwwyiren22| 久久午夜福利电影 | 国产成人无码av一区二区在线观看 | 欧美精品免费一区二区三区 | 91探花网站 | 精品久久久久久亚洲综合网 | 国产又黄又大又粗的视频 | www.99riav | 中文字幕中文在线 | 一本大道久久久久精品嫩草 | 青青草天堂 | 成人亚洲欧美日韩在线观看 | 人人做人人澡人人爽欧美 | 欧美videos另类精品 | 亚洲色图一区二区三区 | 狠狠综合久久久久综合网址 | 岛国免费av | 在线高清免费不卡全码 | 日本aaaa大片免费观看入口 | 四虎最新免费网站 | 国产超碰av人人做人人爽 | 涩涩涩999 | 日日夜夜天天干 | 美女扒开奶罩露出奶头视频网站 | 粉嫩小泬无遮挡久久久久久 | 女的被弄到高潮娇喘喷水视频 | 国产特级毛片 | 亚洲欧美一区二区三区视频 | 小仙女异导航av福利尤物 | 欧美精品国产一区二区 | 国产免费啪啪 | 免费精品国自产拍在线播放 | 伊人影院中文字幕 | 亚洲精品av无码喷奶水糖心 | 性猛交xxxx乱大交孕妇2 | 中文字幕99页 | 日韩欧美手机在线 | 欧美国产日韩a在线视频下载 | 国精品无码一区二区三区在线蜜臀 | 国产精品免费vv欧美成人a | 亚洲日韩av无码一区二区三区人 | 欧美婷婷久久五月精品三区 | 九九99视频 | 成人性做爰aaa片免费看曹查理 | 亚洲精品视频专区 | 大肉大捧一进一出好爽视频 | 日本无码人妻精品一区二区蜜桃 | 精品国产乱码久久久久久下载 | 亚洲va中文字幕无码毛片 | 国产精品久久久久久久久久久久午夜片 | 久久久久久人妻精品一区二区三区 | 性欧美白嫩18sexhd4k | 亚洲精品666 | 偷窥国产亚洲免费视频 | 99久久精品久久久久久清纯 | 日韩三级一区二区三区 | 国产aⅴ老牛影视 | 亚洲日韩精品一区二区三区 | 韩国无码一区二区三区免费视频 | 亚洲图片在线视频 | 蜜桃视频一区 | 国产男女免费完整视频 | 97精产国品一二三产区在线 | 男男gv在线播放网站亚洲 | 青青青国产在线观看 | 少妇丰满尤物大尺度写真 | 无码一卡二卡三卡四卡 | 高清精品一区二区三区 | 久久精品国产99久久久小说 | 韩产日产国产欧产 | 亚洲中文无码永久免 | 国产99久一区二区三区a片 | 国产老熟女狂叫对白 | 97精品伊人久久大香线蕉app | 丁香婷婷色综合激情五月 | 亚洲精品成人av在线 | 色综合久久88色综合天天人守婷 | 人妻在卧室被老板疯狂进入 | 成年网站在线在免费线播放欧美 | 亚洲欧美日韩中文在线制服 | 日韩成人在线网 | 国产免费aa | 中文字幕视频一区二区 | 欧美国产日韩视频 | 国产精品片aa在线观看 | 国产一区二区91 | 日韩性xxx | 国产无遮挡又黄又爽不要vip软件 | 亚洲中文av一区二区三区 | 羞羞视频在线观看免费观看 | 亚洲人成77777在线播放网站不卡 | 一级中国毛片 | 91国产在线视频在线 | 免费人成网站视频在线观看 | 国产精品多久久久久久情趣酒店 | 女人下面流白浆的视频 | 日本怡春院一区二区三区 | 日韩av无码精品人妻系列 | 国产成人18黄网站免费观看 | 婷婷一区二区三区 | 少妇性饥渴无码a区免费 | 嫩草国产精品 | 国产无遮挡又爽又刺激的视频老师 | 哺乳一区二区久久久免费 | 亚洲欧洲国产成人综合在线 | 亚洲超碰在线观看 | 国产大片www | 久久精品国产久精国产爱 | 亚洲人成网址在线播放 | 国产又粗又猛又爽又黄的视频文字 | 日本中文视频 | 喷水白丝蜜臀av久久av | 精品国产高清毛片a片看 | 91九色porny国产探花 | 中国a级黄色片 | 人妻人人做人做人人爱 | 99国内精品 | 思思久久久 | 午夜成人无码片在线观看影院 | 91久久精品一区二区三区大 | 97精品国产97久久久久久免费 | 亚洲国产成人精品无码区花野真一 | 亚洲网在线观看 | 亚洲国产成人福利精品 | 亚洲欧美在线综合色影视 | 天天躁日日躁狠狠躁图片swag | 麻豆精品人妻一区二区三区蜜桃 | 日韩欧美一级黄色片 | 久久人人97超碰爱香蕉 | 亚洲精品久久久久久成人 | 爽爽精品dvd蜜桃成熟时电影院 | 97久久精品国产一区二区三区 | 午夜在线视频观看日韩17c | 黄色av成人 | 久久精品国产69国产精品亚洲 | 久久综合狠狠综合久久 | 国产日韩一区 | youjizz麻豆 | 又粗又黄又爽视频免费看 | 国产精品成人在线观看 | 一级一级国产片 | 国产精品美女www | 国产性色av高清在线观看 | 国产女人乱子对白av片 | 久草在线免费新视频 | 狠狠看穞片色欲天天 | 欧美日本高清在线不卡区 | 成人含羞草tv免费入口 | 国内自拍视频一区二区三区 | 青青青手机视频在线观看 | 亚洲国产精品日韩专区av | 韩日视频在线观看 | 99热免费看 | 日本免费观看视频 | 久久精品国产久精国产思思 | 亚洲精品一区二区不卡 | 久久超碰色中文字幕超清 | 亚洲成a人片在线观看中文无码 | 性欧美大战久久久久久久83 | 成人精品三级av在线看 | 日韩天堂在线 | 黄色av网站在线播放 | 亚洲高清视频网站 | 日本网站在线免费观看 | 久久综合给合综合久久 | 国产精品福利一区二区三区 | 亚洲碰碰人人av熟女天堂 | 午夜成人精品福利网站在线观看 | 亚洲殴美国产日韩av | 免费国产在线精品一区二区三区 | 亚洲最新无码中文字幕久久 | 三级网站免费播放 | 在线影院av| 人人揉人人捏人人添 | 国产一二三区av | 日韩精品人妻av一区二区三区 | 新疆美女69精品视频在线播放 | 妩媚尤物娇喘无力呻吟在线视频 | 精品人妻少妇一区二区 | 成人欧美一区二区三区在线观看 | 玩弄美艳馊子高潮无码 | 日韩va在线观看 | 婷婷综合在线视频 | 综合色99| 日韩精品区 | 又色又爽又黄无遮挡的免费观看 | 午夜精品视频在线观看 | 一个人看的www免费视频在线观看 | 国产美女自卫慰视频福利 | 在线不卡av片免费观看 | 一级片日本 | 天码中文字幕在线播放 | 久久999精品久久久有什么优势 | 久9re热视频这里只有精品 | 亚洲乱码中文字幕小综合 | 女人久久久久 | 色网站在线播放 | 欧美日韩一区二区三区四区 | 2019国产精品青青草原 | 亚洲天堂伊人网 | 久久受 | 国产三级农村妇女在线 | 四虎影院在线免费观看 | 天堂网久久 | 99精品久久99久久久久胖女人 | 国产-第1页-草草影院ccyy | 中出中文字幕 | 国产美女裸体丝袜喷水视频 | 久久午夜羞羞影院免费观看 | 人人超碰97 | 久久狠狠中文字幕2017 | 欧美日韩在线网站 | 欧美亚洲国产日韩一区二区 | 国产免费看又黄又大又污的胸 | 无码潮喷a片无码高潮视频 久久久综综合色一本伊人 不卡影院av | 欧美网站视频 | 欧美精品一区在线观看 | 国产对白受不了了 | 狠狠色丁香婷婷久久综合考虑 | 男女啪啪免费观看网站 | 国产黄色a级毛片 | 免费一区二区无码东京热 | 免费一级大片 | 国产精品久久久久久欧美2021 | 国精产品一线二线三线av | 久久国产精品久久喷水 | 麻豆国产尤物av尤物在线看 | 黄色真人毛片 | 亚洲高清无在码在线电影不卡 | 国内av一区二区 | 99手机在线视频 | 亚洲成av人的天堂在线观看 | 人妻熟妇乱又伦精品视频app | 国产精品久久久999 色五月丁香五月综合五月 人妻互换免费中文字幕 | 真人抽搐一进一出gif | 日本欧美一区二区三区在线播放 | 黑人巨茎精品欧美一区二区 | 久荜中文字幕 | 国色天香一卡2卡三卡4卡乱码 | 无码国产精品一区二区免费i6 | 狠狠色丁香婷婷综合久久图片 | 国产精品白丝av在线观看播放 | 中文字幕日韩一区二区不卡 | 午夜久久一区 | 国产精品久久久久久99 | 久草视频手机在线 | 天天躁日日躁狠狠躁av | 色婷婷精品大在线视频 | 久久久久久a亚洲欧洲av冫 | 中国人妻被两个老外三p | 性天堂av | 亚洲综合伊人久久大杳蕉 | 亚洲区自拍 | 99热久久成人免费频精品2 | 91免费公开视频 | 少妇太紧太爽又黄又硬又爽 | 夜夜春夜夜爽 | 久久黄色成人 | 国产亚洲精品久久久久久无几年桃 | 国产精品久久久久久久久久久免费 | 97碰成人国产免费公开视频 | 一本色道久久88加勒比—综合 | 在线中文字幕av | 国产对白不带套毛片av | 久久久受www免费人成 | 成人av无码一区二区三区 | 国产又粗又猛又爽又黄的视频p站 | 女女百合高h喷汁呻吟视频 色偷偷www.8888在线观看 | 久久人人爽人人爽人人片av麻烦 | 120秒试看无码体验区 | 久久精品无码专区免费青青 | 国产农村一国产农村无码毛片 | 日日鲁鲁鲁夜夜爽爽狠狠视频97 | 欧美亚洲福利 | 国产精品成人一区二区 | 中国丰满少妇xxxxx高潮 | 激情小说av | 国产无遮无挡120秒 91福利网站 | 免费无遮挡十八禁污污国产 | 国产女人18毛片水18精 | 无码专区—va亚洲v专区vr | 欧美高清v| 国产一区二区三区免费高清在线播放 | 视频啪啪免费观看 | 久久精品无码午夜福利理论片 | 国产成人一区 | 99这里只有 | 波多野结衣一区二区三区av高清 | 中出视频在线观看 | 亚洲色无码中文字幕 | 日韩av.com | 午夜人妻久久久久久久久 | 日本乱理伦片在线观看中文 | 国产91清纯白嫩初高中在线观看 | 国产做爰又粗又大又爽动漫 | 精品综合久久久久久888蜜芽 | 国产专区在线播放 | 亚洲图片欧美在线 | av中文字幕网 | 人妻av无码系列一区二区三区 | 97超碰碰碰| 免费人成视频在线播放视频 | 377p人体粉嫩胞国产 | 三级国产网站 | 午夜光棍 | 亚洲无人区一区二区三区 | 88福利视频 | 日本高清免费观看 | 草草地址线路①屁屁影院成人 | 免费的一级黄色片 | 久色视频在线播放 | 亚洲国产精品尤物yw在线观看 | 久久东京热人妻无码人av | 成人国产一区二区三区精品不卡 | 北条麻妃一区二区三区四区五区 | 99久热在线精品996热是什么 | 潮喷无码正在播放 | 婷婷亚洲激情 | 少妇被粗大的猛进69视频 | 国产一区二区三区免费播放 | 无遮挡高潮国产免费观看 | 国产偷自拍视频 | 伊人成人激情 | 国产又大又硬又粗 | 亚洲天堂资源在线 | av看片网站| 男女啪啪永久免费观看网站 | 天天夜碰日日摸日日澡性色av | 亚洲国产精品久久久久久 | 国产精品资源一区二区 | 青青青国产在线 | 亚洲成a人片777777张柏芝 | 久久综合五月丁香久久激情 | 日韩亚洲精品视频 | 欧美肉欲k8播放毛片欧美 | 欧美嫩交一区二区三区 | 亚洲国产精品久久亚洲精品 | 岛国精品一区二区三区 | 视频一区二区三区中文字幕 | 亚洲成人综合在线 | 亚洲国产另类久久久精品网站 | 亚洲一区二区黄 | 免费国产黄网站在线观看视频 | 精品国产91久久久久久久 | 欧美日韩a级 | 色男天堂 | 狠狠躁夜夜躁av蜜臀少妇 | 日韩 欧美 动漫 国产 制服 | 欧美在线日韩精品 | 女同性av片在线观看免费网站 | 亚洲深夜福利视频 | 国产精品久久久久永久免费 | 日韩中文字幕在线一区二区三区 | 国产在线国偷精品产拍免费yy | 女厕厕露p撒尿八个少妇 | 久久综合无码中文字幕无码ts | 国产日产欧产精品精品推荐免费 | 亚洲视频一二 | 99re6这里只有精品 | 高潮毛片无遮挡高清视频播放 | 国产日韩精品欧美 | 狠狠色噜噜狠狠狠狠色综合久 | 性色av一区二区三区人妻 | 手机在线精品视频 | 国产卡一卡二卡三 | 末成年娇小性色xxxxx | 男女啪啪十八 | 国产嫩草影院久久久 | 午夜视频在线观看网站 | 国产夫妻一区 | 久久精品人人槡人妻人 | 亚洲国产成人一区二区在线 | 成人深夜小视频 | 一级在线观看 | 国内精品免费久久久久软件 | 久久免费在线观看 | 亚洲欧美日韩国产综合精品二区 | www.av网 | 国产成人午夜高潮毛片 | 久久最新网址 | 在线精品自偷自拍无码中文 | 日本福利在线观看 | 在线亚洲精品国产成人av剧情 | 国产成人+综合亚洲+天堂 | 高清人人天天夜夜曰狠狠狠狠 | 毛葺葺老太做受视频 | 国产在线视频一区 | 国产精品久久久久久久裸模 | 亚洲精品乱码久久久久久蜜桃欧美 | 久草在线网址 | 欧美视频在线观看不卡 | 亚洲制服丝袜一区二区三区 | 久草在线亚洲 | 99国产在线观看 | 亚洲欧洲成人a∨在线观看 91久久夜色精品国产九色 | 久久这里只有精品国产 | 99热这里只有精品免费播放 | 国产高清在线a免费视频观看 | 二区视频在线 | 亚洲日韩色在线影院性色 | 中文av岛国无码免费播放 | 中文字幕人成人乱码亚洲电影 | 色播欧美 | 98国产精品视频 | 亚洲精品视频一区 | 国产亚洲精品久久7788 | 黄色大片免费网站 | 日产精品99久久久久久 | 77777五月色婷婷丁香视频在线 | 久综合在线 | 欧美日韩久久婷婷 | 激情文学888| 日本又黄又爽又无遮挡的视频 | 国产亚洲午夜高清国产拍精品 | 亚洲卡一卡二卡三新区乱码 | 超碰在线资源站 | 精品久久久一区二区 | 美女一区二区三区 | 久久免费播放视频 | 一本大道道香蕉a又又又 | 五色影院| 国精产品999国精产品蜜臀 | 天天看片天天操 | 我要色综合网 | 久久久精品国产一二三产区区别 | 久久日精品 | 乌克兰少妇videos高潮 | 亚洲gv猛男gv无码男同短文 | 韩国精品视频一区二区在线播放 | 亚洲少妇网站 | 少妇裸体长淫交视频免费观看 | 天天宗合| 97视频在线播放 | 中日av乱码一区二区三区乱码 | 白浆网站 | 欧美高清视频在线观看 | 色香蕉网站 | 蜜臀av午夜一区二区三区 | 欧美成人区 | 国产无套粉嫩白浆内谢网站 | 国产女人抽搐喷浆视频 | 91午夜激情 | 野外少妇被弄到喷水在线观看 | 久久国产免费观看精品a片 国产人妻人伦精品1国产丝袜 | 性欧美高清come | 123成人网 | 色欲av无码一区二区三区 | 99精品偷拍视频一区二区三区 | 国产精品theporn88 | 九一亚色| 一夲道无码人妻精品一区二区 | 国产99久久久 | 酒店偷拍毛片高潮 | 亚洲午夜久久久久久噜噜噜 | av无码天一区二区一三区 | 亚洲黄色小视频在线观看 | 国产一区91| 鲁啊鲁在线视频 | 国产猛男猛女超爽免费视频网站 | 日本在线一 | 91手机看片 | 国产日产欧产精品 | 在线a∨| 99sao| 成人在线观看亚洲 | 在线观看特色大片免费网站 | 一级片成人 | 欧美做爰啪啪xxxⅹ性 | 成年免费视频播放网站推荐 | 97精产国品一二三产区在线 | av一级免费 | 狠狠色噜噜狠狠狠8888米奇 | 亚洲国产中文在线视频 | 在线看免费无码的av天堂 | 女学生和老头做爰av片 | 狠狠狠狼鲁亚洲综合网 | 337p日本欧洲亚大胆精80 | 亚洲成人综合网站 | 国产做a爰片久久毛片a片 | 国产精品久久久久久久久免费樱桃 | 久久97精品 | 首页 综合国产 亚洲 丝袜日本 | 特级片毛片 | 国产孩cao大人xxxx | 黄色激情视频小说 | 黄色视频毛片 | 国产精品久久久久久久久久10秀 | 伊人久久久久久久久久 | 少妇系列之白嫩人妻 | 国产精品久久人妻无码网站蜜臀 | 在线观看免费一区 | 免费成人av片 | 久久久久国产精品人妻aⅴ天堂 | а√天堂资源中文最新版地址 | 先锋资源在线视频 | 国产精选第一页 | 麻豆 美女 丝袜 人妻 中文 | 国产午夜亚洲精品不卡在线观看 | а√天堂资源8在线官网 | 色帽子影院 | 亚瑟av亚洲精品一区二区 | 欧美97色 | www.4hu95.com四虎| 国产精品嫩草av | 久久免费视频观看 | 精品国产乱码久久久软件使用方法 | 日韩精品一级 | 久久免费视频在线 | 新版本天堂资源在线中文8的特点 | 久久久久久久久久久免费精品 | 国产在线激情视频 | 国产粉嫩嫩00在线正在播放 | 精品日韩久久 | 91九色在线播放 | 精品欧美乱码久久久久久 | 亚a∨国av综av涩涩涩 | 亚洲国产精品毛片av不卡在线 | 成人在色线视频在线观看免费大全 | 少妇嫩搡bbbb搡bbbb | 99久久精品国产系列 | 国产成人av 综合 亚洲 | 免费一级做a爰片性视频 | 老色鬼在线精品视频在线观看 | 五月六月丁香婷婷激情 | 麻豆成人网 | 国产乱码精品一区二区三区亚洲人 | 中文字幕第一区 | 欧美激情视频一区二区三区免费 | 91视频播放器 | 亚洲夜色 | 特黄大片aaaaa毛片 | 日韩美一区 | 一区二区免费视频 | 亚洲第一综合在线 | 精品无码av一区二区三区 | 国产卡一卡二卡三卡免费 | 欧美巨大黑人精品videos | 亚洲精品成人老司机影视 | 国内精品一区二区福利视频 | 国产69成人精品视频免费 | 永久免费黄色 | 免费人成在线观看播放a | 少妇裸体see亚洲pics | 日本精品久久久久中文字幕5 | 勾搭了很久的邻居少妇在线观看 | 先锋影音av资源站av | 久久综合九色综合欧洲98 | 真人做人试看60分钟免费 | 91国内精品久久久 | 在线观看91精品国产入口 | 国产色婷婷亚洲999精品网站 | 无码中文字幕乱在线观看 | 国产日韩欧美激情 | 国产精品无码一区二区三区不卡 | 嫩草欧美曰韩国产大片 | 精品av国产一二三四区 | 国产在线日韩拍揄自揄视频 | 高清毛茸茸的中国少妇 | 国产精品国产三级国产传播 | 久久香蕉国产线看观看怡红院妓院 | 无码人妻视频一区二区三区 | 狠狠色噜噜狠狠狠狠2021 | 国产老头和老太xxxxx视频 | 亚洲日韩日本中文在线 | 日韩午夜大片 | 国产精品国产免费无码专区不卡 | 国内精品久久久久久tv | 成人一区二 | 国产寡妇婬乱a毛片视频 | 性强烈的欧美三级视频 | 色视频在线免费 | 亚洲欧美精品综合一区 | 天堂aⅴ无码一区二区三区 好屌草这里只有精品 | 精品一区二区无码av | 麻豆画精品传媒2021一二三区 | 五月天男人的天堂 | 精品2区| 五月婷婷丁香网 | 亚洲熟妇色xxxxx欧美老妇 | 久久精品国产99精品国产亚洲性色 | 天天综合av | 国产精品久久人妻无码网站一区 | 91av视频免费观看 | 四虎影视永久在线 | 免费无码av片在线观看网址 | 欧美xx网站 | 嫩草影院av | 人妻激情偷乱一区二区三区 | 插插射啊爱视频日a级 | 视频区 国产 图片区 小说区 | 人妻暴雨中被强制侵犯在线 | 国产疯狂做受xxxx高潮 | 亚洲日韩国产精品无码av | 精品免费观看 | 中文av网| 午夜成人免费视频 | 国产又黄又爽又色的免费 | 欧美一级视频免费观看 | 国产女主播喷出白浆视频 | 日韩黄色一级视频 | 国产美女一区二区 | 五月天伊人网 | 亚洲特黄视频 | 涩涩涩涩爱网站 | 强伦人妻一区二区三区视频18 | 少妇和黑人老外做爰av | 久久精品欧美一区二区三区不卡 | 欧美黑人性暴力猛交喷水黑人巨大 | 中文字幕在线不卡 | 中国妞女69xxxx另类性 | 女人扒开屁股爽桶30分钟 | 国产sm调教室 | 国产爆乳美女娇喘呻吟 | 国产精品毛片在线完整版 | 少妇久久久久久 | 狠狠干狠狠搞 | 女人与拘做受全过程免费视频 | 成人免费淫片 | 遮羞美女bbbbb洗澡视频 | 国产av电影区二区三区曰曰骚网 | 激情五月六月婷婷 | av一区在线 | 不卡伦理| 国产依人| 无码人妻精品一区二区三区99不卡 | 三上悠亚福利一区二区 | 99热这里只有是精品 | 亚洲国产97色在线张津瑜 | 国产精品美女久久久久网站浪潮 | 亚洲天堂2017无码中文 | 久久午夜剧场 | 人妻无码久久久久久久久久久 | 国产成人精品无码短视频 | 欧美日韩精品国产 | 中文字幕中出 | 日韩精品91亚洲二区在线观看 | 亚洲国产成人无码av在线播放 | 爱高潮www亚洲精品 亚洲欧美日韩中文无线码 天堂资源成人√ | 亚洲毛片精品 | 亚洲欧美一区二区三 | 97精品国产97久久久久久免费 | 亚洲第一色在线 | 国产午夜理论不卡在线观看 | 亚洲红杏成在人线免费视频 | 牛牛av| 欧美黄色大片免费 | 亚洲国产精品久久久久婷婷软件 | 亚洲国产日产2021 | 人妻少妇精品视频三区二区一区 | 色爱综合av | 亚洲欧美精品沙发 | 欧美天堂视频 | 中文字幕在线观看免费 | 激情影院a | 色综合伊人丁香五月桃花婷婷 | 四虎永久在线精品免费网址 | 午夜高清国产拍精品 | 超碰青草 | 久久久久青草线蕉亚洲 | 97亚色 | 成人女人免费毛片 | 99久精品| 日本少妇丰满做爰图片 | 91丨porny在线牛牛影视 | 国偷自产av一区二区三区 | 欧美伊人久久大香线蕉综合 | 国产精品无码综合区 | 国产成 人 综合 亚洲欧洲 | 久久99国产精品久久99果冻传媒新版本 | 拔擦8x成人一区二区三区 | 久久久久免费看黄a片app | 久久国语 | 久久夜色精品国产噜噜av小说 | 国产精品久久麻豆 | 自拍偷拍视频网站 | 五月毛片 | 粉嫩av一区二区在线播放免费 | 久久96国产精品久久久 | 亚洲区免费中文字幕影片|高清在线观看 | 小明永久2015xxx免费看视频 | 2021亚洲天堂 | 日韩 国产 在线 | 免费无码又爽又高潮视频 | 一区二区三区在线 | 日本 | 日本美女影院 | 在线播放真实国产乱子伦 | 国产成人精品高清在线观看99 | 欧美精品爱爱 | 毛片av中文字幕一区二区 | 丁香一区二区 | a毛片毛片av永久免费 | 成人网站色52色在线观看 | 久久免费视频3 | 9色在线视频 | 精品乱人伦一区二区三区 | av青青 | 色就是色欧美 | 久久国产精品久久喷水 | av免费在线观看不卡 | 国产精品丝袜久久久久久高清 | 亚洲久视频 | 草裙社区精品视频播放 | 国产无人区卡一卡二卡乱码 | 国产亚洲精品aaaaaaa片 | 国产成人亚洲影院在线观看 | 天堂在线.www天堂在线资源 | 殴美一区二区 | 亚洲色婷六月丁香在线视频 | 2018国产在线 | 日本一区不卡视频 | 秋霞影院中文字幕 | 中文字幕v亚洲日本在线电影 | 国产又粗又长又猛又爽 | 热99re久久精品这里都是精品 | 三级av在线 | 亚洲男人的天堂在线播放 | 人妻无码av一区二区三区精品 | 欧美日韩在线亚洲综合国产人 | 欧美一级特黄aaa | 91久久精品一区二区 | 国产成人精品999视频 | 久久人搡人人玩人妻精品 | 久草在线免费看视频 | 九一视频在线 | 欧美黑人欧美精品刺激 | 国产初高中生视频在线观看 | 午夜av无码福利免费看网站 | 黄网站色视频免费国产 | www伊人| 亚洲欧美日韩国产综合在线 | 亚洲国产成人久久综合 | 初音未来爆乳下裸羞羞无码 | 色老头一区 | 亚洲成人观看 | 国产一区二区三区四区五区vm | 乌克兰xxxxx少妇精品二区 | 亚洲国产成人女毛片在线主播 | 天堂在线www资源 | 日韩 亚洲 中文 图片 小说 | 6080久久| 韩国性猛交╳xxx乱大交 | 91五月天 | 无码专区3d动漫精品免费 | 99在线精品观看 | 国产高清国产精品国产专区 | 亚洲欧美综合中文 | 色噜噜狠狠一区二区三区狼国成人 | 久久咪咪 | 久热爱精品视频在线◇ | 欧美日韩一区二区免费视频 | 97在线精品视频免费 | 无码国产精品高潮久久9 | 色乱码一区二区三在线看 | 欧美视频一区二区三区在线观看 | 国产成人乱码一二三区18 | 天堂一码二码三码四码区乱码 | 亚洲日韩一页精品发布 | 露脸啪啪清纯大学生美女 | 国产精品久久久久影院亚瑟 | 夜夜嗨一区二区三区 | 成人永久免费网站在线观看 | 波多野结衣爱爱视频 | 日本公妇乱淫免费 | 亚洲男人网 | 日韩欧美猛交xxxxx无码 | 欧美亚洲人成网站在线观看 | 午夜福利不卡在线视频 | 广东少妇大战黑人34厘米视频 | 91久久精品久久国产性色也91 | 色欲香天天天综合网站小说 | 四虎最新站名点击进入 | 欧美日韩国产在线播放 | 国产麻豆剧果冻传媒白晶晶 | 免费看欧美一级特黄a大片 一区二区三区美女 | 日本成熟少妇激情视频免费看 | 国产夜夜夜 | 99久热国产精品视频尤物 | 国产亚洲综合欧美一区二区 | 日韩精品一区在线 | 无码国产片观看 | 亚洲五月综合 | 欧美 日韩 国产 一区二区三区 | 亚洲精品99久久久久久欧美版 | 亚洲乱码中文论理电影 | 国产3p又大又爽又粗又硬免费 | 中文精品无码中文字幕无码专区 | 亚洲国产成人精品无码区在线 | 色午夜婷婷 | 中文日本字幕mv在现线观看 | 精品久久久久久久久久国产潘金莲 | 亚洲线精品一区二区三区影音先锋 | av网站在线免费 | 日韩一区国产二区欧美三区 | 国产精品麻豆aⅴ人妻 | 日本黄色一级 | av一区+二区在线播放 | 亚洲码国产岛国毛片在线 | 日韩黄色在线播放 | 中文字幕免费观看 | 色悠久 | 成人福利视频在线 | 精品无码人妻一区二区三区不卡 | 国产乱子伦视频一区二区三区 | 97精品国产91久久久久久久 | 无码人妻丰满熟妇啪啪欧美 | 久草资源视频 | 老司机av网站 | av在哪看 | 久久精品国产精品国产精品污 | 日日干夜夜爱 | 秋霞中文字幕 | 天天操,夜夜操 | 久久国产精品久久精品国产 | 另类毛片 | 极品尤物一区二区三区 | 免费无码无遮挡裸体视频 | 动漫成人无码精品一区二区三区 | www色偷偷| 色狠狠操 | 91精品国产99久久久久久久 | 成人网址在线观看 | 日本久久99| 狠狠综合久久av一区二区蜜桃 | 亚洲精品国产品国语在线 | 琪琪秋霞午夜av影视在线 | 激情 小说 亚洲 图片 伦 | 麻豆人人妻人人妻人人片av | 日韩亚洲欧美一区二区 | 成人国产片女人爽到高潮 | 日产有线一区2区三区 | 日本 欧美 国产 | 欧美在线观看a | 亚洲系列第一页 | 亚洲69av| 三上悠亚在线日韩精品 | 色综合1| 欧美在线色视频 | 一本中文字幕 | 无码人妻丰满熟妇啪啪7774 | 日日夜夜一区 | 欧美激情视频一区二区三区在线播放 | 夜夜艹av| 国产全国探花系列 | 最近中文字幕第一页 | 99视频偷窥在线精品国自产拍 | 99草草国产熟女视频在线 | 亚洲天堂一区二区三区四区 | 久久午夜无码免费 | 香蕉久操| 免费观看的av | 亚洲一区视频在线播放 | 玩弄了裸睡少妇人妻野战 | 日本亚洲精品色婷婷在线影院 | 超碰在线免费观看97 | 美女av免费| 国产精成a品人v在线播放 | 天天操月月操 | 日韩免费高清视频网站 | 亚洲国产精品无码中文字app | 婷婷婷色 | 国产在线播放网站 | 国产尤物av尤物在线观看 | 国产日韩一区在线 | xxxxx毛片| 久久精品人人做人人爽电影蜜月 | 欧美裸体摔跤xxxx | 日韩成人在线一区 | 人人骚 | 欧美日韩国产91 | 亚洲a毛片 | 精品产区wnw2544 | 成人理论视频 | 99久久99这里只有免费费精品 | 免费毛片一区二区三区亚女同 | 欧美亚洲日本高清不卡 | www.av麻豆| 特级西西444ww大胆高清图片 | 久久av老司机精品网站导航 | 在线播放五十路熟妇 | 欧美在线性视频 | 99久久精品国产亚洲 | 日本熟妇毛茸茸茂密的森林 | 福利二区视频 | 久久精品国产亚洲 | 免费中文字幕日产乱码 | 亚洲中文无码永久免 | 国产精品青青 | 91久久精品视频 | 露脸国产精品自产拍在线观看 | 国产一级黄色毛片 | 国产又粗又硬又长又爽 | 综合激情五月丁香久久 | 亚欧乱色国产精品免费九库 | 精品欧美一区二区三区久久久 | 中文在线字幕免 | 成人av在线一区二区三区 | 久久国产精品国产四虎90后 | 午夜免费福利网站 | 在线观看欧美激情 | 国产亚洲精品久久久久久老妇小说 | 国内少妇高清露脸精品视频 | 岳的好大精品一区二区三区 | 人妻无码视频一区二区三区 | 色婷婷一区二区 | 欧美成人精品一区二区 | 又爽又黄无遮拦成人网站 | 欧美精品aaaa | 日韩少妇激情一区二区 | 久操资源在线 | 青青草成人av | 99re在线视频精品 | 亚洲色大成网站www久久九九 | 人人射影院 | 99国产精品自拍 | 亚洲精品在看在线观看 | 五月婷婷六月激情 | 狠狠躁夜夜躁人人爽天天5 成人午夜高潮刺激免费视频 | 日韩综合av | 久久天堂国产香蕉三区 | 免费国产成人午夜福利电影 | 亚洲精品国产精品国自产小说 | 成人性视频免费看的鲁片 | 任我爽精品视频在线观看 | 夜夜爽77777妓女免费看 | 久久成人视屏 | 天天爽天天干 | 人妻熟女一区二区aⅴ图片 夜夜狠狠擅视频 | 亚洲无av码一区二区三区 | 97caoporn国产免费人人 | 国产精品久久久久久久久久久免费 | 色综合色综合色综合色综合 | 91久久爽久久爽爽久久片 | 青青草免费视频观看 | 漂亮人妻被中出中文字幕 | 日韩第九页 | 国产乱码精品一区二区三区爽爽爽 | 国产精品民宅偷窥盗摄 | 春药按摩人妻弓中文字幕 | 熟女乱色一区二区三区 | 亚洲欧美日韩一区二区三区四区 | 狠狠做深爱婷婷丁香综合 | 啊~用力cao我cao死我视频 | 成人性生交大片免费看96 | 亚洲国产精品久久人人爱潘金莲 | 国产69久久精品成人看动漫 | 天天躁夜夜躁狠狠躁2021 | 狠狠色噜噜狠狠狠狠888奇禾 | 久久黑丝 | 欧美精品成人一区二区三区四区 | 手机看片日韩国产 | 国产地址一| 亚洲精品国产自在现线看 | 欧美偷拍一区二区三区 | av亚洲精华国产精华精 | 欧美性猛交xxx乱大交3 | 久久艹这里只有精品 | av国语| 成人看片黄a免费看小说 | 亚洲伊人成综合网 | 伊人久久香 | 国产精品视频一区二区三区 | 欧美一级免费视频 | 欧美精品一区二区性色a+v | 日韩不卡手机视频在线观看 | 最新中文字幕视频 | 亚洲综合久久一本伊一区 | 九九精品久久 | 成年人网站黄 | 国产制服丝袜亚洲日本在线 | 亚洲aⅴ精品一区二区三区91 | 精品成人免费一区二区在线播放 | 亚洲国产欧洲综合997久久 | 蜜臀av福利无码一二三 | www.亚洲com| 韩国精品一区二区三区无码视频 | 日本道在线 | 成人深夜视频在线观看 | 亚洲自啪| 日韩国产亚洲欧美成人图片 | 在线观看亚洲一区 | 无遮挡十八禁污污网站在线观看 | 中文字幕不卡av无码专线一本 | 日韩在线观看视频一区 | 日本免费高清 | 性色a∨人人爽网站hd | 日韩精品无码久久一区二区三 | 丰满少妇久久久久久久 | 国产成人精品一区二区 | 中文字幕第66页 | 亚洲资源网 | 一级成人毛片 | 日韩三级视频在线观看 | 国产真实交换配乱淫视频 | 狠狠躁夜夜躁人人爽天天开心婷婷 | 色男人天堂av | 欧美激情国产91在线 | 国产suv精品一区二区88l | 国产超碰人人爽人人做av | 国产成人av国语在线观看 | 欧美国产日韩a在线视频下载 | 国产亚洲精品久久yy50 | 在线中文新版最新版在线 | 国产激情内射在线影院 | 国产精品中文字幕一区二区三区 | 综合久久久久久久 | 亚洲国产熟妇在线视频 | 东京一木一道一二三区 | 亚洲香蕉伊综合在人在线观看 | 国产亚洲激情 | 天天躁夜夜躁狠狠眼泪 | 成人黄色在线网站 | 亚洲精品理论电影在线观看 | 欧美一级专区免费大片 | 在线中文字幕亚洲 | 国产一区二区三区四区精 | ts人妖另类精品视频系列 | 欧美精品xx| 免费大片av手机看片不卡 | 国产成人无码av一区二区在线观看 | 久久www成人免费直播 | 麻豆精品国产 | 人妻内射一区二区在线视频 | 日本综合久久 | 热99在线| 黄色一级免费视频 | 成人51免费 | 国产精品久久久综合久尹人久久9 | 精品一区二区无码av | www.中文字幕在线观看 | 欧美高清熟妇啪啪内射不卡自拍 | 欧日韩不卡在线视频 | 国产精品久久久免费视频 | 91福利网站 | 欧美夜夜操 | 日本三级日产三级国产三级 | 一区二区我不卡 | 日本理论片午午伦夜理片2021 | 毛片啪啪啪| 色婷婷社区 | 亚洲综合色成在线播放 | 日韩欧美一区在线观看 | 久久精品视频一区二区三区 | 少妇激情a∨一区二区三区 欧美亚洲另类自拍 | 国产丝袜久久 | 香草乱码一二三四区别 | 五月天婷婷影视 | 国产成人综合久久精品推最新 | 久草在线资源福利站 | 中文字幕精品一区二区精品 | 大胆日本熟妇xxxx | 午夜福利国产在线观看1 | 日本少妇浓毛bbwbbw | 含羞草导航 | 色婷婷av一区| 亚洲情趣 | 成人av一区二区在线观看 | 国产suv精品一区二人妻 | 97碰碰碰免费公开在线视频 | 亚洲精品麻豆 | 国产精品av久久久久久无 | 国产交换配乱婬视频 | 免费观看在线午夜影视 | 欧美另类在线播放 | 天天射天天干天天操 | 男人手机天堂 | 国产精品亚洲第一区焦香味 | 国产女人高潮嗷嗷嗷叫 | 亚洲精品玖玖玖av在线看 | 蜜桃无码一区二区三区 | 人妻av中文字幕一区二区三区 | 蜜桃视频成人 | 九九九久久久久 | 国产精品成av人在线视午夜片 | 欧美成人一区二区三区片免费 | 日本在线精品视频 | 动漫av纯肉无码av在线播放 | 免费国产午夜视频在线观看 | 中文字幕无线码一区二区 | 国产男女精品 | 伊人网大 | 久久成人成狠狠爱综合网 | 亚洲欧美日韩综合久久久 | 国产日韩av免费无码一区二区三区 | 午夜福利伦伦电影理论片在线观看 | 亚洲一区欧美激情 | 伊人性视频 | 精品国产乱码久久久久夜深人妻 | 在线天堂新版资源www在线 | 久久久国产精品黄毛片 | 亚洲性色av日韩在线观看 | 久久99精品久久久久久久久久 | 亚洲欧美丝袜中文综合 | 18黑白丝水手服自慰喷水 | 亚洲精品1234 | 日韩在线观看中文字幕 |