国产无遮挡裸体免费直播视频,久久精品国产蜜臀av,动漫在线视频一区二区,欧亚日韩一区二区三区,久艹在线 免费视频,国产精品美女网站免费,正在播放 97超级视频在线观看,斗破苍穹年番在线观看免费,51最新乱码中文字幕

java并發(fā)包JUC同步器框架AQS框架原文翻譯

 更新時(shí)間:2022年02月28日 10:34:05   作者:只會(huì)一點(diǎn)java  
發(fā)現(xiàn)了一篇JDK作者的論文《The?java.util.concurrent?Synchronizer?Framework》主要描述了作者對(duì)AbstractQueuedSynchronizer同步器框架的設(shè)計(jì)和實(shí)現(xiàn)。權(quán)威性毋庸置疑!自然需要拜讀一下,配上中文翻譯,希望大家能有所收獲

摘要

在J2SE 1.5的java.util.concurrent包(下稱j.u.c包)中,大部分的同步器(例如鎖,屏障等等)都是基于AbstractQueuedSynchronizer類(下稱AQS類),這個(gè)簡(jiǎn)單的框架而構(gòu)建的。這個(gè)框架為同步狀態(tài)的原子性管理、線程的阻塞和解除阻塞以及排隊(duì)提供了一種通用的機(jī)制。這篇論文主要描述了這個(gè)框架基本原理、設(shè)計(jì)、實(shí)現(xiàn)、用法以及性能。

1. 背景介紹

通過(guò)JCP的JSR166規(guī)范,Java的1.5版本引入了j.u.c包,這個(gè)包提供了一系列支持中等程度并發(fā)的類。這些組件是一系列的同步器(抽象數(shù)據(jù)類型(ADT))。這些同步器主要維護(hù)著以下幾個(gè)功能:內(nèi)部同步狀態(tài)的管理(例如:表示一個(gè)鎖的狀態(tài)是獲取還是釋放),同步狀態(tài)的更新和檢查操作,且至少有一個(gè)方法會(huì)導(dǎo)致調(diào)用線程在同步狀態(tài)被獲取時(shí)阻塞,以及在其他線程改變這個(gè)同步狀態(tài)時(shí)解除線程的阻塞。上述的這些的實(shí)際例子包括:互斥排它鎖的不同形式、讀寫鎖、信號(hào)量、屏障、Future、事件指示器以及傳送隊(duì)列等。

幾乎任一同步器都可以用來(lái)實(shí)現(xiàn)其他形式的同步器。例如,可以用可重入鎖實(shí)現(xiàn)信號(hào)量或者用信號(hào)量實(shí)現(xiàn)可重入鎖。但是,這樣做帶來(lái)的復(fù)雜性,開(kāi)銷,不靈活使其至多只能是個(gè)二流工程。且缺乏吸引力。如果任何這樣的構(gòu)造方式不能在本質(zhì)上比其他形式更簡(jiǎn)潔,那么開(kāi)發(fā)者就不應(yīng)該隨意地選擇其中的某個(gè)來(lái)構(gòu)建另一個(gè)同步器。取而代之,JSR166建立了一個(gè)小框架,AQS類。這個(gè)框架為構(gòu)造同步器提供一種通用的機(jī)制,并且被j.u.c包中大部分類使用,同時(shí)很多用戶也用它來(lái)定義自己的同步器。

在這篇論文的下面部分會(huì)討論這個(gè)框架的需求、設(shè)計(jì)與實(shí)現(xiàn)背后的主要思路、示例用法,以及性能指標(biāo)的一些測(cè)量。

2 需求

2.1 功能

同步器一般包含兩種方法,一種是acquire,另一種是release。acquire操作阻塞調(diào)用的線程,直到或除非同步狀態(tài)允許其繼續(xù)執(zhí)行。而release操作則是通過(guò)某種方式改變同步狀態(tài),使得一或多個(gè)被acquire阻塞的線程繼續(xù)執(zhí)行。

j.u.c包中并沒(méi)有對(duì)同步器的API做一個(gè)統(tǒng)一的定義。因此,有一些類定義了通用的接口(如Lock),而另外一些則定義了其專有的版本。因此在不同的類中,acquire和release操作的名字和形式會(huì)各有不同。例如:Lock.lock,Semaphore.acquire,CountDownLatch.await和FutureTask.get,在這個(gè)框架里,這些方法都是acquire操作。但是,J.U.C為支持一系列常見(jiàn)的使用選項(xiàng),在類間都有個(gè)一致約定。在有意義的情況下,每一個(gè)同步器都支持下面的操作:

  • 阻塞和非阻塞(例如tryLock)同步。
  • 可選的超時(shí)設(shè)置,讓調(diào)用者可以放棄等待
  • 通過(guò)中斷實(shí)現(xiàn)的任務(wù)取消,通常是分為兩個(gè)版本,一個(gè)acquire可取消,而另一個(gè)不可以。

同步器的實(shí)現(xiàn)根據(jù)其狀態(tài)是否獨(dú)占而有所不同。獨(dú)占狀態(tài)的同步器,在同一時(shí)間只有一個(gè)線程可以通過(guò)阻塞點(diǎn),而共享狀態(tài)的同步器可以同時(shí)有多個(gè)線程在執(zhí)行。一般鎖的實(shí)現(xiàn)類往往只維護(hù)獨(dú)占狀態(tài),但是,例如計(jì)數(shù)信號(hào)量在數(shù)量許可的情況下,允許多個(gè)線程同時(shí)執(zhí)行。為了使框架能得到廣泛應(yīng)用,這兩種模式都要支持。

j.u.c包里還定義了Condition接口,用于支持監(jiān)控形式的await/signal操作,這些操作與獨(dú)占模式的Lock類有關(guān),且Condition的實(shí)現(xiàn)天生就和與其關(guān)聯(lián)的Lock類緊密相關(guān)。

2.2 性能目標(biāo)

Java內(nèi)置鎖(使用synchronized的方法或代碼塊)的性能問(wèn)題一直以來(lái)都在被人們關(guān)注,并且已經(jīng)有一系列的文章描述其構(gòu)造(例如引文[1],[3])。然而,大部分的研究主要關(guān)注的是在單核處理器上大部分時(shí)候使用于單線程上下文環(huán)境中時(shí),如何盡量降低其空間(因?yàn)槿魏蔚腏ava對(duì)象都可以當(dāng)成是鎖)和時(shí)間的開(kāi)銷。對(duì)于同步器來(lái)說(shuō)這些都不是特別重要:程序員僅在需要的時(shí)候才會(huì)使用同步器,因此并不需要壓縮空間來(lái)避免浪費(fèi),并且同步器幾乎是專門用在多線程設(shè)計(jì)中(特別是在多核處理器上),在這種環(huán)境下,偶爾的競(jìng)爭(zhēng)是在意料之中的。因此,常規(guī)的JVM鎖優(yōu)化策略主要是針對(duì)零競(jìng)爭(zhēng)的場(chǎng)景,而其它場(chǎng)景則使用缺乏可預(yù)見(jiàn)性的“慢速路徑(slow paths)” ,所以常規(guī)的JVM鎖優(yōu)化策略并不適用于嚴(yán)重依賴于J.U.C包的典型多線程服務(wù)端應(yīng)用。

這里主要的性能目標(biāo)是可伸縮性,即在大部分情況下,即使,或特別在同步器有競(jìng)爭(zhēng)的情況下,穩(wěn)定地保證其效率。在理想的情況下,不管有多少線程正試圖通過(guò)同步點(diǎn),通過(guò)同步點(diǎn)的開(kāi)銷都應(yīng)該是個(gè)常量。在某一線程被允許通過(guò)同步點(diǎn)但還沒(méi)有通過(guò)的情況下,使其耗費(fèi)的總時(shí)間最少,這是主要目標(biāo)之一。然而,這也必須考慮平衡各種資源,包括總CPU時(shí)間的需求,內(nèi)存負(fù)載以及線程調(diào)度的開(kāi)銷。例如:獲取自旋鎖通常比阻塞鎖所需的時(shí)間更短,但是通常也會(huì)浪費(fèi)CPU時(shí)鐘周期,并且造成內(nèi)存競(jìng)爭(zhēng),所以使用的并不頻繁。

實(shí)現(xiàn)同步器的這些目標(biāo)包含了兩種不同的使用類型。大部分應(yīng)用程序是最大化其總的吞吐量,容錯(cuò)性,并且最好保證盡量減少饑餓的情況。然而,對(duì)于那些控制資源分配的程序來(lái)說(shuō),更重要是去維持多線程讀取的公平性,可以接受較差的總吞吐量。沒(méi)有任何框架可以代表用戶去決定應(yīng)該選擇哪一個(gè)方式,因此,應(yīng)該提供不同的公平策略。

無(wú)論同步器的內(nèi)部實(shí)現(xiàn)是多么的精雕細(xì)琢,它還是會(huì)在某些應(yīng)用中產(chǎn)生性能瓶頸。因此,框架必須提供相應(yīng)的監(jiān)視工具讓用戶發(fā)現(xiàn)和緩和這些瓶頸。至少需要提供一種方式來(lái)確定有多少線程被阻塞了。

3 設(shè)計(jì)與實(shí)現(xiàn)

同步器背后的基本思想非常簡(jiǎn)單。

acquire操作如下:

while (synchronization state does not allow acquire) {
    enqueue current thread if not already queued;
    possibly block current thread;
}
dequeue current thread if it was queued;

release操作如下:

update synchronization state;
if (state may permit a blocked thread to acquire)
    unblock one or more queued threads;

為了實(shí)現(xiàn)上述操作,需要下面三個(gè)基本組件的相互協(xié)作:

  • 同步狀態(tài)的原子性管理;
  • 線程的阻塞與解除阻塞;
  • 隊(duì)列的管理;

創(chuàng)建一個(gè)框架分別實(shí)現(xiàn)這三個(gè)組件是有可能的。但是,這會(huì)讓整個(gè)框架既難用又沒(méi)效率。例如:存儲(chǔ)在隊(duì)列節(jié)點(diǎn)的信息必須與解除阻塞所需要的信息一致,而暴露出的方法的簽名必須依賴于同步狀態(tài)的特性。

同步器框架的核心決策是為這三個(gè)組件選擇一個(gè)具體實(shí)現(xiàn),同時(shí)在使用方式上又有大量選項(xiàng)可用。這里有意地限制了其適用范圍,但是提供了足夠的效率,使得實(shí)際上沒(méi)有理由在合適的情況下不用這個(gè)框架而去重新建造一個(gè)。

3.1 同步狀態(tài)

AQS類使用單個(gè)int(32位)來(lái)保存同步狀態(tài),并暴露出getState、setState以及compareAndSet操作來(lái)讀取和更新這個(gè)狀態(tài)。這些方法都依賴于j.u.c.atomic包的支持,這個(gè)包提供了兼容JSR133中volatile在讀和寫上的語(yǔ)義,并且通過(guò)使用本地的compare-and-swap或load-linked/store-conditional指令來(lái)實(shí)現(xiàn)compareAndSetState,使得僅當(dāng)同步狀態(tài)擁有一個(gè)期望值的時(shí)候,才會(huì)被原子地設(shè)置成新值。

將同步狀態(tài)限制為一個(gè)32位的整形是出于實(shí)踐上的考量。雖然JSR166也提供了64位long字段的原子性操作,但這些操作在很多平臺(tái)上還是使用內(nèi)部鎖的方式來(lái)模擬實(shí)現(xiàn)的,這會(huì)使同步器的性能可能不會(huì)很理想。當(dāng)然,將來(lái)可能會(huì)有一個(gè)類是專門使用64位的狀態(tài)的。然而現(xiàn)在就引入這么一個(gè)類到這個(gè)包里并不是一個(gè)很好的決定

(譯者注:

JDK1.6中已經(jīng)包含java.util.concurrent.locks.AbstractQueuedLongSynchronizer類

即使用 long 形式維護(hù)同步狀態(tài)的一個(gè) AbstractQueuedSynchronizer 版本)。目前來(lái)說(shuō),32位的狀態(tài)對(duì)大多數(shù)應(yīng)用程序都是足夠的。在j.u.c包中,只有一個(gè)同步器類可能需要多于32位來(lái)維持狀態(tài),那就是CyclicBarrier類,所以,它用了鎖(該包中大多數(shù)更高層次的工具亦是如此)。

基于AQS的具體實(shí)現(xiàn)類必須根據(jù)暴露出的狀態(tài)相關(guān)的方法定義tryAcquiretryRelease方法,以控制acquire和release操作。當(dāng)同步狀態(tài)滿足時(shí),tryAcquire方法必須返回true,而當(dāng)新的同步狀態(tài)允許后續(xù)acquire時(shí),tryRelease方法也必須返回true。這些方法都接受一個(gè)int類型的參數(shù)用于傳遞想要的狀態(tài)。例如:可重入鎖中,當(dāng)某個(gè)線程從條件等待中返回,然后重新獲取鎖時(shí),為了重新建立循環(huán)計(jì)數(shù)的場(chǎng)景。很多同步器并不需要這樣一個(gè)參數(shù),因此忽略它即可。

3.2 阻塞

在JSR166之前,阻塞線程和解除線程阻塞都是基于Java內(nèi)置監(jiān)視器,沒(méi)有基于Java API可以用來(lái)創(chuàng)建同步器。唯一可以選擇的是Thread.suspendThread.resume,但是它們都有無(wú)法解決的競(jìng)態(tài)問(wèn)題,所以也沒(méi)法用:當(dāng)一個(gè)非阻塞的線程在一個(gè)正準(zhǔn)備阻塞的線程調(diào)用suspend前調(diào)用了resume,這個(gè)resume操作將不會(huì)有什么效果。

j.u.c包有一個(gè)LockSuport類,這個(gè)類中包含了解決這個(gè)問(wèn)題的方法。方法LockSupport.park阻塞當(dāng)前線程除非/直到有個(gè)LockSupport.unpark方法被調(diào)用(unpark方法被提前調(diào)用也是可以的)。unpark的調(diào)用是沒(méi)有被計(jì)數(shù)的,因此在一個(gè)park調(diào)用前多次調(diào)用unpark方法只會(huì)解除一個(gè)park操作。另外,它們作用于每個(gè)線程而不是每個(gè)同步器。一個(gè)線程在一個(gè)新的同步器上調(diào)用park操作可能會(huì)立即返回,因?yàn)樵诖酥翱赡苡?ldquo;剩余的”unpark操作。但是,在缺少一個(gè)unpark操作時(shí),下一次調(diào)用park就會(huì)阻塞。雖然可以顯式地消除這個(gè)狀態(tài)(譯者注:就是多余的unpark調(diào)用),但并不值得這樣做。在需要的時(shí)候多次調(diào)用park會(huì)更高效。

這個(gè)簡(jiǎn)單的機(jī)制與有些用法在某種程度上是相似的,例如Solaris-9的線程庫(kù),WIN32中的“可消費(fèi)事件”,以及Linux中的NPTL線程庫(kù)。因此最常見(jiàn)的運(yùn)行Java的平臺(tái)上都有相對(duì)應(yīng)的有效實(shí)現(xiàn)。(但目前Solaris和Linux上的Sun Hotspot JVM參考實(shí)現(xiàn)實(shí)際上是使用一個(gè)pthread的condvar來(lái)適應(yīng)目前的運(yùn)行時(shí)設(shè)計(jì)的)。park方法同樣支持可選的相對(duì)或絕對(duì)的超時(shí)設(shè)置,以及與JVM的Thread.interrupt結(jié)合 ,可通過(guò)中斷來(lái)unpark一個(gè)線程。

3.3 隊(duì)列

整個(gè)框架的關(guān)鍵就是如何管理被阻塞的線程的隊(duì)列,該隊(duì)列是嚴(yán)格的FIFO隊(duì)列,因此,框架不支持基于優(yōu)先級(jí)的同步。

同步隊(duì)列的最佳選擇是自身沒(méi)有使用底層鎖來(lái)構(gòu)造的非阻塞數(shù)據(jù)結(jié)構(gòu),目前,業(yè)界對(duì)此很少有爭(zhēng)議。而其中主要有兩個(gè)選擇:一個(gè)是Mellor-Crummey和Scott鎖(MCS鎖)[9]的變體,另一個(gè)是Craig,Landin和Hagersten鎖(CLH鎖)[5][8][10]的變體。一直以來(lái),CLH鎖僅被用于自旋鎖。但是,在這個(gè)框架中,CLH鎖顯然比MCS鎖更合適。因?yàn)镃LH鎖可以更容易地去實(shí)現(xiàn)“取消(cancellation)”和“超時(shí)”功能,因此我們選擇了CLH鎖作為實(shí)現(xiàn)的基礎(chǔ)。但是最終的設(shè)計(jì)已經(jīng)與原來(lái)的CLH鎖有較大的出入,因此下文將對(duì)此做出解釋。

CLH隊(duì)列實(shí)際上并不那么像隊(duì)列,因?yàn)樗娜腙?duì)和出隊(duì)操作都與它的用途(即用作鎖)緊密相關(guān)。它是一個(gè)鏈表隊(duì)列,通過(guò)兩個(gè)字段headtail來(lái)存取,這兩個(gè)字段是可原子更新的,兩者在初始化時(shí)都指向了一個(gè)空節(jié)點(diǎn)。

一個(gè)新的節(jié)點(diǎn),node,通過(guò)一個(gè)原子操作入隊(duì):

do {
    pred = tail;
} while(!tail.compareAndSet(pred, node));

每一個(gè)節(jié)點(diǎn)的“釋放”狀態(tài)都保存在其前驅(qū)節(jié)點(diǎn)中。因此,自旋鎖的“自旋”操作就如下:

while (pred.status != RELEASED); // spin

自旋后的出隊(duì)操作只需將head字段指向剛剛得到鎖的節(jié)點(diǎn):

	head = node;

CLH鎖的優(yōu)點(diǎn)在于其入隊(duì)和出隊(duì)操作是快速、無(wú)鎖的,以及無(wú)障礙的(即使在競(jìng)爭(zhēng)下,某個(gè)線程總會(huì)贏得一次插入機(jī)會(huì)而能繼續(xù)執(zhí)行);且探測(cè)是否有線程正在等待也很快(只要測(cè)試一下head是否與tail相等);同時(shí),“釋放”狀態(tài)是分散的(譯者注:幾乎每個(gè)節(jié)點(diǎn)都保存了這個(gè)狀態(tài),當(dāng)前節(jié)點(diǎn)保存了其后驅(qū)節(jié)點(diǎn)的“釋放”狀態(tài),因此它們是分散的,不是集中于一塊的。),避免了一些不必要的內(nèi)存競(jìng)爭(zhēng)。

在原始版本的CLH鎖中,節(jié)點(diǎn)間甚至都沒(méi)有互相鏈接。自旋鎖中,pred變量可以是一個(gè)局部變量。然而,Scott和Scherer證明了通過(guò)在節(jié)點(diǎn)中顯式地維護(hù)前驅(qū)節(jié)點(diǎn),CLH鎖就可以處理“超時(shí)”和各種形式的“取消”:如果一個(gè)節(jié)點(diǎn)的前驅(qū)節(jié)點(diǎn)取消了,這個(gè)節(jié)點(diǎn)就可以滑動(dòng)去使用前面一個(gè)節(jié)點(diǎn)的狀態(tài)字段。

為了將CLH隊(duì)列用于阻塞式同步器,需要做些額外的修改以提供一種高效的方式定位某個(gè)節(jié)點(diǎn)的后繼節(jié)點(diǎn)。在自旋鎖中,一個(gè)節(jié)點(diǎn)只需要改變其狀態(tài),下一次自旋中其后繼節(jié)點(diǎn)就能注意到這個(gè)改變,所以節(jié)點(diǎn)間的鏈接并不是必須的。但在阻塞式同步器中,一個(gè)節(jié)點(diǎn)需要顯式地喚醒(unpark)其后繼節(jié)點(diǎn)。

AQS隊(duì)列的節(jié)點(diǎn)包含一個(gè)next鏈接到它的后繼節(jié)點(diǎn)。但是,由于沒(méi)有針對(duì)雙向鏈表節(jié)點(diǎn)的類似compareAndSet的原子性無(wú)鎖插入指令,因此這個(gè)next鏈接的設(shè)置并非作為原子性插入操作的一部分,而僅是在節(jié)點(diǎn)被插入后簡(jiǎn)單地賦值:

pred.next = node;

next鏈接僅是一種優(yōu)化。如果通過(guò)某個(gè)節(jié)點(diǎn)的next字段發(fā)現(xiàn)其后繼結(jié)點(diǎn)不存在(或看似被取消了),總是可以使用pred字段從尾部開(kāi)始向前遍歷來(lái)檢查是否真的有后續(xù)節(jié)點(diǎn)。

第二個(gè)對(duì)CLH隊(duì)列主要的修改是將每個(gè)節(jié)點(diǎn)都有的狀態(tài)字段用于控制阻塞而非自旋。在同步器框架中,僅在線程調(diào)用具體子類中的tryAcquire方法返回true時(shí),隊(duì)列中的線程才能從acquire操作中返回;而單個(gè)“released”位是不夠的。但仍然需要做些控制以確保當(dāng)一個(gè)活動(dòng)的線程位于隊(duì)列頭部時(shí),僅允許其調(diào)用tryAcquire;這時(shí)的acquire可能會(huì)失敗,然后(重新)阻塞。這種情況不需要讀取狀態(tài)標(biāo)識(shí),因?yàn)榭梢酝ㄟ^(guò)檢查當(dāng)前節(jié)點(diǎn)的前驅(qū)是否為head來(lái)確定權(quán)限。與自旋鎖不同,讀取head以保證復(fù)制時(shí)不會(huì)有太多的內(nèi)存競(jìng)爭(zhēng)( there is not enough memory contention reading head to warrant replication.)。然而,“取消”狀態(tài)必須存在于狀態(tài)字段中。

隊(duì)列節(jié)點(diǎn)的狀態(tài)字段也用于避免沒(méi)有必要的parkunpark調(diào)用。雖然這些方法跟阻塞原語(yǔ)一樣快,但在跨越Java和JVM runtime以及操作系統(tǒng)邊界時(shí)仍有可避免的開(kāi)銷。在調(diào)用park前,線程設(shè)置一個(gè)“喚醒(signal me)”位,然后再一次檢查同步和節(jié)點(diǎn)狀態(tài)。一個(gè)釋放的線程會(huì)清空其自身狀態(tài)。這樣線程就不必頻繁地嘗試阻塞,特別是在鎖相關(guān)的類中,這樣會(huì)浪費(fèi)時(shí)間等待下一個(gè)符合條件的線程去申請(qǐng)鎖,從而加劇其它競(jìng)爭(zhēng)的影響。除非后繼節(jié)點(diǎn)設(shè)置了“喚醒”位(譯者注:源碼中為-1),否則這也可避免正在release的線程去判斷其后繼節(jié)點(diǎn)。這反過(guò)來(lái)也消除了這些情形:除非“喚醒”與“取消”同時(shí)發(fā)生,否則必須遍歷多個(gè)節(jié)點(diǎn)來(lái)處理一個(gè)似乎為null的next字段。

同步框架中使用的CLH鎖的變體與其他語(yǔ)言中的相比,主要區(qū)別可能是同步框架中使用的CLH鎖需要依賴?yán)厥展芾砉?jié)點(diǎn)的內(nèi)存,這就避免了一些復(fù)雜性和開(kāi)銷。但是,即使依賴GC也仍然需要在確定鏈接字段不再需要時(shí)將其置為null。這往往可以與出隊(duì)操作一起完成。否則,無(wú)用的節(jié)點(diǎn)仍然可觸及,它們就沒(méi)法被回收。

其它一些更深入的微調(diào),包括CLH隊(duì)列首次遇到競(jìng)爭(zhēng)時(shí)才需要的初始空節(jié)點(diǎn)的延遲初始化等,都可以在J2SE1.5的版本的源代碼文檔中找到相應(yīng)的描述。

拋開(kāi)這些細(xì)節(jié),基本的acquire操作的最終實(shí)現(xiàn)的一般形式如下(互斥,非中斷,無(wú)超時(shí)):

if(!tryAcquire(arg)) {
    node = create and enqueue new node;
    pred = node's effective predecessor;
    while (pred is not head node || !tryAcquire(arg)) {
        if (pred's signal bit is set)
            pard()
        else
            compareAndSet pred's signal bit to true;
        pred = node's effective predecessor;
    }
    head = node;
}

release操作:

if(tryRelease(arg) && head node's signal bit is set) {
    compareAndSet head's bit to false;
    unpark head's successor, if one exist
}

acquire操作的主循環(huán)次數(shù)依賴于具體實(shí)現(xiàn)類中tryAcquire的實(shí)現(xiàn)方式。另一方面,在沒(méi)有“取消”操作的情況下,每一個(gè)組件的acquirerelease都是一個(gè)O(1)的操作,忽略park中發(fā)生的所有操作系統(tǒng)線程調(diào)度。

支持“取消”操作主要是要在acquire循環(huán)里的park返回時(shí)檢查中斷或超時(shí)。由超時(shí)或中斷而被取消等待的線程會(huì)設(shè)置其節(jié)點(diǎn)狀態(tài),然后unpark其后繼節(jié)點(diǎn)。在有“取消”的情況下,判斷其前驅(qū)節(jié)點(diǎn)和后繼節(jié)點(diǎn)以及重置狀態(tài)可能需要O(n)的遍歷(n是隊(duì)列的長(zhǎng)度)。由于“取消”操作,該線程再也不會(huì)被阻塞,節(jié)點(diǎn)的鏈接和狀態(tài)字段可以被快速重建。

3.4 條件隊(duì)列

AQS框架提供了一個(gè)ConditionObject類,給維護(hù)獨(dú)占同步的類以及實(shí)現(xiàn)Lock接口的類使用。一個(gè)鎖對(duì)象可以關(guān)聯(lián)任意數(shù)目的條件對(duì)象,可以提供典型的管程風(fēng)格的await、signalsignalAll操作,包括帶有超時(shí)的,以及一些檢測(cè)、監(jiān)控的方法。

通過(guò)修正一些設(shè)計(jì)決策,ConditionObject類有效地將條件(conditions)與其它同步操作結(jié)合到了一起。該類只支持Java風(fēng)格的管程訪問(wèn)規(guī)則,這些規(guī)則中,僅當(dāng)當(dāng)前線程持有鎖且要操作的條件(condition)屬于該鎖時(shí),條件操作才是合法的(一些替代操作的討論參考[4])。這樣,一個(gè)ConditionObject關(guān)聯(lián)到一個(gè)ReentrantLock上就表現(xiàn)的跟內(nèi)置的管程(通過(guò)Object.wait等)一樣了。兩者的不同僅僅在于方法的名稱、額外的功能以及用戶可以為每個(gè)鎖聲明多個(gè)條件。

ConditionObject使用了與同步器一樣的內(nèi)部隊(duì)列節(jié)點(diǎn)。但是,是在一個(gè)單獨(dú)的條件隊(duì)列中維護(hù)這些節(jié)點(diǎn)的。signal操作是通過(guò)將節(jié)點(diǎn)從條件隊(duì)列轉(zhuǎn)移到鎖隊(duì)列中來(lái)實(shí)現(xiàn)的,而沒(méi)有必要在需要喚醒的線程重新獲取到鎖之前將其喚醒。

基本的await操作如下:

create and add new node to conditon queue;
release lock;
block until node is on lock queue;
re-acquire lock;

signal操作如下:

transfer the first node from condition queue to lock queue;

因?yàn)橹挥性诔钟墟i的時(shí)候才能執(zhí)行這些操作,因此他們可以使用順序鏈表隊(duì)列操作來(lái)維護(hù)條件隊(duì)列(在節(jié)點(diǎn)中用一個(gè)nextWaiter字段)。轉(zhuǎn)移操作僅僅把第一個(gè)節(jié)點(diǎn)從條件隊(duì)列中的鏈接解除,然后通過(guò)CLH插入操作將其插入到鎖隊(duì)列上。

實(shí)現(xiàn)這些操作主要復(fù)雜在,因超時(shí)或Thread.interrupt導(dǎo)致取消了條件等待時(shí),該如何處理。“取消”和“喚醒”幾乎同時(shí)發(fā)生就會(huì)有競(jìng)態(tài)問(wèn)題,最終的結(jié)果遵照內(nèi)置管程相關(guān)的規(guī)范。JSR133修訂以后,就要求如果中斷發(fā)生在signal操作之前,await方法必須在重新獲取到鎖后,拋出InterruptedException。但是,如果中斷發(fā)生在signal后,await必須返回且不拋異常,同時(shí)設(shè)置線程的中斷狀態(tài)。

為了維護(hù)適當(dāng)?shù)捻樞颍?duì)列節(jié)點(diǎn)狀態(tài)變量中的一個(gè)位記錄了該節(jié)點(diǎn)是否已經(jīng)(或正在)被轉(zhuǎn)移。“喚醒”和“取消”相關(guān)的代碼都會(huì)嘗試用compareAndSet修改這個(gè)狀態(tài)。如果某次signal操作修改失敗,就會(huì)轉(zhuǎn)移隊(duì)列中的下一個(gè)節(jié)點(diǎn)(如果存在的話)。如果某次“取消”操作修改失敗,就必須中止此次轉(zhuǎn)移,然后等待重新獲得鎖。后面的情況采用了一個(gè)潛在的無(wú)限的自旋等待。在節(jié)點(diǎn)成功的被插到鎖隊(duì)列之前,被“取消”的等待不能重新獲得鎖,所以必須自旋等待CLH隊(duì)列插入(即compareAndSet操作)被“喚醒”線程成功執(zhí)行。這里極少需要自旋,且自旋里使用Thread.yield來(lái)提示應(yīng)該調(diào)度某一其它線程,理想情況下就是執(zhí)行signal的那個(gè)線程。雖然有可能在這里為“取消”實(shí)現(xiàn)一個(gè)幫助策略以幫助插入節(jié)點(diǎn),但這種情況實(shí)在太少,找不到合適的理由來(lái)增加這些開(kāi)銷。在其它所有的情況下,這個(gè)基本的機(jī)制都不需要自旋或yield,因此在單處理器上保持著合理的性能。

4 用法

AQS類將上述的功能結(jié)合到一起,并且作為一種基于“模版方法模式”[6]的基類提供給同步器。子類只需定義狀態(tài)的檢查與更新相關(guān)的方法,這些方法控制著acquire和 release操作。然而,將AQS的子類作為同步器ADT并不適合,因?yàn)檫@個(gè)類必須提供方法在內(nèi)部控制acquire和release的規(guī)則,這些都不應(yīng)該被用戶所看到。所有java.util.concurrent包中的同步器類都聲明了一個(gè)私有的繼承了AbstractQueuedSynchronizer的內(nèi)部類,并且把所有同步方法都委托給這個(gè)內(nèi)部類。這樣各個(gè)同步器類的公開(kāi)方法就可以使用適合自己的名稱。

下面是一個(gè)最簡(jiǎn)單的Mutex類的實(shí)現(xiàn),它使用同步狀態(tài)0表示解鎖,1表示鎖定。這個(gè)類并不需要同步方法中的參數(shù),因此這里在調(diào)用的時(shí)候使用0作為實(shí)參,方法實(shí)現(xiàn)里將其忽略。

class Mutex {
    class Sync extends AbstractQueuedSynchronizer {
        public boolean tryAcquire(int ignore) {
            return compareAndSetState(0, 1);
        }
        public boolean tryRelease(int ignore) {
            setState(0); return true;
        }
    }
    private final Sync sync = new Sync();
    public void lock() { sync.acquire(0); }
    public void unlock() { sync.release(0); }
}

這個(gè)例子的一個(gè)更完整的版本,以及其它用法指南,可以在J2SE的文檔中找到。還可以有一些變體。如,tryAcquire可以使用一種“test-and-test-and-set”策略,即在改變狀態(tài)值前先對(duì)狀態(tài)進(jìn)行校驗(yàn)。

令人詫異的是,像互斥鎖這樣性能敏感的東西也打算通過(guò)委托和虛方法結(jié)合的方式來(lái)定義。然而,這正是現(xiàn)代動(dòng)態(tài)編譯器一直在重點(diǎn)研究的面向?qū)ο笤O(shè)計(jì)結(jié)構(gòu)。編譯器擅長(zhǎng)將這方面的開(kāi)銷優(yōu)化掉,起碼會(huì)優(yōu)化頻繁調(diào)用同步器的那些代碼。

AbstractQueuedSynchronizer類也提供了一些方法用來(lái)協(xié)助策略控制。例如,基礎(chǔ)的acquire方法有可超時(shí)和可中斷的版本。雖然到目前為止,我們的討論都集中在像鎖這樣的獨(dú)占模式的同步器上,但AbstractQueuedSynchronizer類也包含另一組方法(如acquireShared),它們的不同點(diǎn)在于tryAcquireSharedtryReleaseShared方法能夠告知框架(通過(guò)它們的返回值)尚能接受更多的請(qǐng)求,最終框架會(huì)通過(guò)級(jí)聯(lián)的signal(cascading signals)喚醒多個(gè)線程。

雖然將同步器序列化(持久化存儲(chǔ)或傳輸)一般來(lái)說(shuō)沒(méi)有太大意義,但這些類經(jīng)常會(huì)被用于構(gòu)造其它類,例如線程安全的集合,而這些集合通常是可序列化的。AbstractQueuedSynchronizerConditionObject類都提供了方法用于序列化同步狀態(tài),但不會(huì)序列化潛在的被阻塞的線程,也不會(huì)序列化其它內(nèi)部暫時(shí)性的簿記(bookkeeping)變量。即使如此,在反序列化時(shí),大部分同步器類也只僅將同步狀態(tài)重置為初始值,這與內(nèi)置鎖的隱式策略一致 —— 總是反序列化到一個(gè)解鎖狀態(tài)。這相當(dāng)于一個(gè)空操作,但仍必須顯式地支持以便final字段能夠反序列化。

4.1 公平調(diào)度的控制

盡管同步器是基于FIFO隊(duì)列的,但它們并不一定就得是公平的。可以注意到,在基礎(chǔ)的acquire算法(3.3節(jié))中,tryAcquire是在入隊(duì)前被執(zhí)行的。因此一個(gè)新的acquire線程能夠“竊取”本該屬于隊(duì)列頭部第一個(gè)線程通過(guò)同步器的機(jī)會(huì)。

可闖入的FIFO策略通常會(huì)提供比其它技術(shù)更高的總吞吐率。當(dāng)一個(gè)有競(jìng)爭(zhēng)的鎖已經(jīng)空閑,而下一個(gè)準(zhǔn)備獲取鎖的線程又正在解除阻塞的過(guò)程中,這時(shí)就沒(méi)有線程可以獲取到這個(gè)鎖,如果使用闖入策略,則可減少這之間的時(shí)間間隔。與此同時(shí),這種策略還可避免過(guò)分的,無(wú)效率的競(jìng)爭(zhēng),這種競(jìng)爭(zhēng)是由于只允許一個(gè)(第一個(gè))排隊(duì)的線程被喚醒然后嘗試acquire操作導(dǎo)致的。在只要求短時(shí)間持有同步器的場(chǎng)景中,創(chuàng)建同步器的開(kāi)發(fā)者可以通過(guò)定義tryAcquire在控制權(quán)返回之前重復(fù)調(diào)用自己若干次,來(lái)進(jìn)一步凸顯闖入的效果。

可闖入的FIFO同步器只有概率性的公平屬性。鎖隊(duì)列頭部一個(gè)解除了阻塞的線程擁有一次無(wú)偏向的機(jī)會(huì)(譯者注:即不會(huì)偏向隊(duì)頭的線程也不會(huì)偏向闖入的線程)來(lái)贏得與闖入的線程之間的競(jìng)爭(zhēng),如果競(jìng)爭(zhēng)失敗,要么重新阻塞要么進(jìn)行重試。然而,如果闖入的線程到達(dá)的速度比隊(duì)頭的線程解除阻塞快,那么在隊(duì)列中的第一個(gè)線程將很難贏得競(jìng)爭(zhēng),以至于幾乎總要重新阻塞,并且它的后繼節(jié)點(diǎn)也會(huì)一直保持阻塞。對(duì)于短暫持有的同步器來(lái)說(shuō),在隊(duì)列中第一個(gè)線程被解除阻塞期間,多處理器上很可能發(fā)生過(guò)多次闖入(譯者注:即闖入的線程的acquire操作)和release了。正如下文所提到的,最終結(jié)果就是保持一或多個(gè)線程的高進(jìn)展速度的同時(shí),仍至少在一定概率上避免了饑餓的發(fā)生。

當(dāng)有更高的公平性需求時(shí),實(shí)現(xiàn)起來(lái)也很簡(jiǎn)單。如果需要嚴(yán)格的公平性,程序員可以把tryAcquire方法定義為,若當(dāng)前線程不是隊(duì)列的頭節(jié)點(diǎn)(可通過(guò)getFirstQueuedThread方法檢查,這是框架提供的為數(shù)不多的幾個(gè)檢測(cè)方法之一),則立即失?。ǚ祷豧alse)。

一個(gè)更快,但非嚴(yán)格公平的變體可以這樣做,若隊(duì)列為空(判斷的瞬間),仍然允許tryAcquire執(zhí)行成功。在這種情況下,多個(gè)線程同時(shí)遇到一個(gè)空隊(duì)列時(shí)可能會(huì)去競(jìng)爭(zhēng)以使自己第一個(gè)獲得鎖,這樣,通常至少有一個(gè)線程是無(wú)需入隊(duì)列的。java.util.concurrent包中所有支持公平模式的同步器都采用了這種策略。

盡管公平性設(shè)置在實(shí)踐中很有用,但是它們并沒(méi)有保障,因?yàn)镴ava Language Specification沒(méi)有提供這樣的調(diào)度保證。例如:即使是嚴(yán)格公平的同步器,如果一組線程永遠(yuǎn)不需要阻塞來(lái)達(dá)到互相等待,那么JVM可能會(huì)決定純粹以順序方式運(yùn)行它們。在實(shí)際中,單處理器上,在搶占式上下文切換之前,這樣的線程有可能是各自運(yùn)行了一段時(shí)間。如果這樣一個(gè)線程正持有某個(gè)互斥鎖,它將很快會(huì)被切換回來(lái),僅是為了釋放其持有的鎖,然后會(huì)繼續(xù)阻塞,因?yàn)樗烙辛硗庖粋€(gè)線程需要這把鎖,這更增加了同步器可用但沒(méi)有線程能來(lái)獲取之間的間隔。同步器公平性設(shè)置在多處理器上的影響可能會(huì)更大,因?yàn)樵谶@種環(huán)境下會(huì)產(chǎn)生更多的交錯(cuò),因此一個(gè)線程就會(huì)有更多的機(jī)會(huì)發(fā)現(xiàn)鎖被另一個(gè)線程請(qǐng)求。

在高競(jìng)爭(zhēng)下,當(dāng)保護(hù)的是短暫持有鎖的代碼體時(shí),盡管性能可能會(huì)較差,但公平鎖仍然能有效地工作。例如,當(dāng)公平性鎖保護(hù)的是相對(duì)長(zhǎng)的代碼體和/或有著相對(duì)長(zhǎng)的鎖間(inter-lock)間隔,在這種情況下,闖入只能帶來(lái)很小的性能優(yōu)勢(shì),但卻可能會(huì)大大增加無(wú)限等待的風(fēng)險(xiǎn)。同步器框架將這些工程決策留給用戶來(lái)確定。

4.2 同步器

下面是java.util.concurrent包中同步器定義方式的概述:

ReentrantLock類使用AQS同步狀態(tài)來(lái)保存鎖(重復(fù))持有的次數(shù)。當(dāng)鎖被一個(gè)線程獲取時(shí),ReentrantLock也會(huì)記錄下當(dāng)前獲得鎖的線程標(biāo)識(shí),以便檢查是否是重復(fù)獲取,以及當(dāng)錯(cuò)誤的線程(譯者注:如果線程不是鎖的持有者,在此線程中執(zhí)行該鎖的unlock操作就是非法的)試圖進(jìn)行解鎖操作時(shí)檢測(cè)是否存在非法狀態(tài)異常。ReentrantLock也使用了AQS提供的ConditionObject,還向外暴露了其它監(jiān)控和監(jiān)測(cè)相關(guān)的方法。ReentrantLock通過(guò)在內(nèi)部聲明兩個(gè)不同的AbstractQueuedSynchronizer實(shí)現(xiàn)類(提供公平模式的那個(gè)禁用了闖入策略)來(lái)實(shí)現(xiàn)可選的公平模式,在創(chuàng)建ReentrantLock實(shí)例的時(shí)候根據(jù)設(shè)置(譯者注:即ReentrantLock構(gòu)造方法中的fair參數(shù))使用相應(yīng)的AbstractQueuedSynchronizer實(shí)現(xiàn)類。

ReentrantReadWriteLock類使用AQS同步狀態(tài)中的16位來(lái)保存寫鎖持有的次數(shù),剩下的16位用來(lái)保存讀鎖的持有次數(shù)。WriteLock的構(gòu)建方式同ReentrantLock。ReadLock則通過(guò)使用acquireShared方法來(lái)支持同時(shí)允許多個(gè)讀線程。

Semaphore類(計(jì)數(shù)信號(hào)量)使用AQS同步狀態(tài)來(lái)保存信號(hào)量的當(dāng)前計(jì)數(shù)。它里面定義的acquireShared方法會(huì)減少計(jì)數(shù),或當(dāng)計(jì)數(shù)為非正值時(shí)阻塞線程;tryRelease方法會(huì)增加計(jì)數(shù),可能在計(jì)數(shù)為正值時(shí)還要解除線程的阻塞。

CountDownLatch類使用AQS同步狀態(tài)來(lái)表示計(jì)數(shù)。當(dāng)該計(jì)數(shù)為0時(shí),所有的acquire操作(譯者注:acquire操作是從aqs的角度說(shuō)的,對(duì)應(yīng)到CountDownLatch中就是await方法)才能通過(guò)。

FutureTask類使用AQS同步狀態(tài)來(lái)表示某個(gè)異步計(jì)算任務(wù)的運(yùn)行狀態(tài)(初始化、運(yùn)行中、被取消和完成)。設(shè)置(譯者注:FutureTaskset方法)或取消(譯者注:FutureTaskcancel方法)一個(gè)FutureTask時(shí)會(huì)調(diào)用AQS的release操作,等待計(jì)算結(jié)果的線程的阻塞解除是通過(guò)AQS的acquire操作實(shí)現(xiàn)的。

SynchronousQueues類(一種CSP(Communicating Sequential Processes)形式的傳遞)使用了內(nèi)部的等待節(jié)點(diǎn),這些節(jié)點(diǎn)可以用于協(xié)調(diào)生產(chǎn)者和消費(fèi)者。同時(shí),它使用AQS同步狀態(tài)來(lái)控制當(dāng)某個(gè)消費(fèi)者消費(fèi)當(dāng)前一項(xiàng)時(shí),允許一個(gè)生產(chǎn)者繼續(xù)生產(chǎn),反之亦然。

java.util.concurrent包的使用者當(dāng)然也可以為自定義的應(yīng)用定義自己的同步器。例如,那些曾考慮到過(guò)的,但沒(méi)有采納進(jìn)這個(gè)包的同步器包括提供WIN32事件各種風(fēng)格的語(yǔ)義類,二元信號(hào)量,集中管理的鎖以及基于樹(shù)的屏障。

5 性能

雖然AQS框架除了支持互斥鎖外,還支持其它形式的同步方式,但鎖的性能是最容易測(cè)量和比較的。即使如此,也還存在許多不同的測(cè)量方式。這里的實(shí)驗(yàn)主要是設(shè)計(jì)來(lái)展示鎖的開(kāi)銷和吞吐量。

在每個(gè)測(cè)試中,所有線程都重復(fù)的更新一個(gè)偽隨機(jī)數(shù),該隨機(jī)數(shù)由nextRandom(int seed)方法計(jì)算:

int t = (seed % 127773) * 16807 - (seed / 127773) * 2836;
return (t > 0) ? t : t + 0x7fffffff;

在每次迭代中,線程以概率S在一個(gè)互斥鎖下更新共享的生成器,否則(譯者注:概率為1-S)更新其自己局部的生成器,此時(shí)是不需要鎖的。如此,鎖占用區(qū)域的耗時(shí)是短暫的,這就使線程持有鎖期間被搶占時(shí)的外界干擾降到了最小。這個(gè)函數(shù)的隨機(jī)性主要是為了兩個(gè)目的:確定是否需要使用鎖(這個(gè)生成器足以應(yīng)付這里的需求),以及使循環(huán)中的代碼不可能被輕易地優(yōu)化掉。

這里比較了四種鎖:內(nèi)置鎖,用的是synchronized塊;互斥鎖,用的是像第四節(jié)例子中的那樣簡(jiǎn)單的Mutex類;可重入鎖,用的是ReentrantLock;以及公平鎖,用的是ReentrantLock的公平模式。所有測(cè)試都運(yùn)行在J2SE1.5 JDK build46(大致與beta2相同)的server模式下。在收集測(cè)試數(shù)據(jù)前,測(cè)試程序先運(yùn)行20次非競(jìng)爭(zhēng)的測(cè)試,以排除JVM“預(yù)熱”(譯者注:更多關(guān)于“預(yù)熱”的內(nèi)容,參見(jiàn):Java 理論與實(shí)踐: 動(dòng)態(tài)編譯與性能測(cè)量)過(guò)程的影響。除了公平模式下的測(cè)試只跑了一百萬(wàn)次迭代,其它每個(gè)線程中的測(cè)試都運(yùn)行了一千萬(wàn)次迭代。

該測(cè)試運(yùn)行在四個(gè)X86機(jī)器和四個(gè)UltraSparc機(jī)器上。所有X86機(jī)器都運(yùn)行的是RedHat基于NPTL 2.4內(nèi)核和庫(kù)的Linux系統(tǒng)。所有的UltraSparc機(jī)器都運(yùn)行的是Solaris-9。測(cè)試時(shí)所有系統(tǒng)的負(fù)載都很輕。根據(jù)該測(cè)試的特征,并不要求系統(tǒng)完全空閑(譯者注:即測(cè)試時(shí)操作系統(tǒng)上有其它較輕的負(fù)載也不會(huì)影響本次測(cè)試的結(jié)果。)。“4P”這個(gè)名字反映出雙核超線程的Xeon更像是4路機(jī)器,而不是2路機(jī)器。這里沒(méi)有將測(cè)試數(shù)據(jù)規(guī)范化。如下所示,同步的相對(duì)開(kāi)銷與處理器的數(shù)量、類型、速度之間不具備簡(jiǎn)單的關(guān)系。

表1 測(cè)試的平臺(tái)

名字處理器數(shù)量類型速度(Mhz)
1P1Pentium3900
2P2Pentium31400
2A2Athlon2000
4P2HTPentium4/Xeon2400
1U1UltraSparc2650
4U4UltraSparc2450
8U8UltraSparc3750
24U24UltraSparc3750

5.1 開(kāi)銷

無(wú)競(jìng)爭(zhēng)情況下的開(kāi)銷是通過(guò)僅運(yùn)行一個(gè)線程,將概率S為1時(shí)的每次迭代時(shí)間減去概率S為0(訪問(wèn)共享內(nèi)存的概率為0)時(shí)的每次迭代時(shí)間得到的(譯者注:這里的“概率S”即前文提到的“概率S”,概率為0時(shí)是沒(méi)有鎖操作的,概率為1時(shí)是每次都有鎖操作,因此將概率為1時(shí)的耗時(shí)減去概率為0時(shí)的耗時(shí)就是整個(gè)鎖操作的開(kāi)銷。)。表2以納秒為單位顯示了非競(jìng)爭(zhēng)場(chǎng)景下每次鎖操作的開(kāi)銷。Mutex類最接近于框架的基本耗時(shí),可重入鎖的額外開(kāi)銷是記錄當(dāng)前所有者線程和錯(cuò)誤檢查的耗時(shí),對(duì)于公平鎖來(lái)說(shuō)還包含開(kāi)始時(shí)檢查隊(duì)列是否為空的耗時(shí)。

表格2也展示與內(nèi)置鎖的“快速路徑(fast path)”對(duì)比,tryAcquire的耗時(shí)。這里的差異主要反映出了各鎖和機(jī)器中使用的不同的原子指令以及內(nèi)存屏障的耗時(shí)。在多處理器上,這些指令常常是完全優(yōu)于所有其它指令的。內(nèi)置鎖和同步器類之間的主要差別,顯然是由于Hotspot鎖在鎖定和解鎖時(shí)都使用了一次compareAndSet,而同步器的acquire操作使用了一次compareAndSet,但release操作用的是一次volatile寫(即,多處理器上的一次內(nèi)存屏障以及所有處理器上的重排序限制)。每個(gè)鎖的絕對(duì)的和相對(duì)耗時(shí)因機(jī)器的不同而不同。

表2 無(wú)競(jìng)爭(zhēng)時(shí)的單鎖開(kāi)銷(單位:納秒)

機(jī)器內(nèi)置互斥可重入公平可重入
1P1893137
2P58717781
2A13213130
4P11695109117
1U90405867
4U12282100115
8U16083103123
24U16184108119

 從另一個(gè)極端看,表3展示了概率S為1,運(yùn)行256個(gè)并發(fā)線程時(shí)產(chǎn)生了大規(guī)模的鎖競(jìng)爭(zhēng)下每個(gè)鎖的開(kāi)銷。在完全飽和的情況下,可闖入的FIFO鎖比內(nèi)置鎖的開(kāi)銷少了一個(gè)數(shù)量級(jí)(也就是更大的吞吐量),比公平鎖更是少了兩個(gè)數(shù)量級(jí)。這表現(xiàn)出即使有著極大的競(jìng)爭(zhēng),在維持線程進(jìn)展方面可闖入FIFO策略的效率。

表3也說(shuō)明了即使在內(nèi)部開(kāi)銷比較低的情況下,公平鎖的性能也完全是由上下文切換的時(shí)間所決定的。列出的時(shí)間大致上都與各平臺(tái)上線程阻塞和解除線程阻塞的時(shí)間相稱。

此外,后面增加的一個(gè)實(shí)驗(yàn)(僅使用機(jī)器4P)表明,對(duì)于這里用到的短暫持有的鎖,公平參數(shù)的設(shè)置在總差異中的影響很小。這里將線程終止時(shí)間間的差異記錄成一個(gè)粗粒度的離散量數(shù)。在4P的機(jī)器上,公平鎖的時(shí)間度量的標(biāo)準(zhǔn)差平均為0.7%,可重入鎖平均為6.0%。作為對(duì)比,為模擬一個(gè)長(zhǎng)時(shí)間持有鎖的場(chǎng)景,測(cè)試中使每個(gè)線程在持有鎖的情況下計(jì)算了16K次隨機(jī)數(shù)。這時(shí),總運(yùn)行時(shí)間幾乎是相同的(公平鎖:9.79s,可重入鎖:9.72s)。公平模式下的差異依然很小,標(biāo)準(zhǔn)差平均為0.1%,而可重入鎖上升到了平均29.5%。

表格3 飽和時(shí)的單鎖開(kāi)銷(單位:納秒)

機(jī)器內(nèi)置互斥可重入公平可重入
1P52146678327
2P93010813214967
2A748798433910
4P114618824715328
1U87915317741394
4U259034736830004
8U127415717431084
24U198316018232291

 

5.2 吞吐量

大部分同步器都是用于無(wú)競(jìng)爭(zhēng)和極大競(jìng)爭(zhēng)之間的。這可以用實(shí)驗(yàn)在兩個(gè)方面進(jìn)行檢查,通過(guò)修改固定個(gè)線程的競(jìng)爭(zhēng)概率,和/或通過(guò)往擁有固定競(jìng)爭(zhēng)概率的線程集合里增加更多的線程。為了說(shuō)明這些影響,測(cè)試運(yùn)行在不同的競(jìng)爭(zhēng)概率和不同的線程數(shù)目下,都用的是可重入鎖。附圖使用了一個(gè)slowdown度量標(biāo)準(zhǔn)。

這里,t是總運(yùn)行時(shí)間,b是一個(gè)線程在沒(méi)有競(jìng)爭(zhēng)或同步下的基線時(shí)間,n是線程數(shù),p是處理器數(shù),S是共享訪問(wèn)的比例(譯者注:即前面的競(jìng)爭(zhēng)概率S)。計(jì)算結(jié)果是實(shí)際執(zhí)行時(shí)間與理想執(zhí)行時(shí)間(通常是無(wú)法得到的)的比率,理想執(zhí)行時(shí)間是通過(guò)使用Amdahl’s法則計(jì)算出來(lái)的。理想時(shí)間模擬了一次沒(méi)有同步開(kāi)銷,沒(méi)有因鎖爭(zhēng)用而導(dǎo)致線程阻塞的執(zhí)行過(guò)程。即使這樣,在很低的競(jìng)爭(zhēng)下,相比理想時(shí)間,有一些測(cè)試結(jié)果卻表現(xiàn)出了很小的速度增長(zhǎng),大概是由于基線和測(cè)試之間的優(yōu)化、流水線等方面有著輕微的差別。

圖中用以2為底的對(duì)數(shù)為比例進(jìn)行了縮放。例如,值為1表示實(shí)際時(shí)間是理想時(shí)間的兩倍,4表示慢16倍。使用對(duì)數(shù)就不需要依賴一個(gè)隨意的基線時(shí)間(這里指的是計(jì)算隨機(jī)數(shù)的時(shí)間),因此,基于不同底數(shù)計(jì)算的結(jié)果表現(xiàn)出的趨勢(shì)應(yīng)該是類似的。這些測(cè)試使用的競(jìng)爭(zhēng)概率從1/128(標(biāo)識(shí)為“0.008”)到1,以2的冪為步長(zhǎng),線程的數(shù)量從1到1024,以2的冪的一半為步長(zhǎng)。

在單處理器(1P和1U)上,性能隨著競(jìng)爭(zhēng)的上升而下降,但不會(huì)隨著線程數(shù)的增加而下降。多處理器在遭遇競(jìng)爭(zhēng)時(shí),性能下降的更快。根據(jù)多處理器相關(guān)的圖表顯示,開(kāi)始出現(xiàn)的峰值處雖然只有幾個(gè)線程的競(jìng)爭(zhēng),但相對(duì)性能通常卻最差。這反映出了一個(gè)性能的過(guò)渡區(qū)域,在這里闖入的線程和被喚醒的線程都準(zhǔn)備獲取鎖,這會(huì)讓它們頻繁的迫使對(duì)方阻塞。在大部分時(shí)候,過(guò)渡區(qū)域后面會(huì)緊接著一個(gè)平滑區(qū)域,因?yàn)榇藭r(shí)幾乎沒(méi)有空閑的鎖,所以會(huì)與單處理器上順序執(zhí)行的模式差不多;在多處理器機(jī)器上會(huì)較早進(jìn)入平滑區(qū)域。例如,請(qǐng)注意,在滿競(jìng)爭(zhēng)(標(biāo)識(shí)為“1.000”)下這些值表示,在處理器越少的機(jī)器上,會(huì)有更糟糕的相對(duì)速度下降。

根據(jù)這些結(jié)果,可以針對(duì)阻塞(park/unpark)做進(jìn)一步調(diào)優(yōu)以減少上下文切換和相關(guān)的開(kāi)銷,這會(huì)給本框架帶來(lái)小但顯著的提升。此外,在多處理器上為短時(shí)間持有的但高競(jìng)爭(zhēng)的鎖采用某種形式的適應(yīng)性自旋,可以避免這里看到的一些波動(dòng),這對(duì)同步器類大有裨益。雖然在跨不同上下文時(shí)適應(yīng)性自旋很難很好的工作,但可以使用本框架為遇到這類使用配置的特定應(yīng)用構(gòu)建一個(gè)自定義形式的鎖。

6 總結(jié)

本文撰寫之時(shí),java.util.concurrent包中的同步器框架還太新所以還不能在實(shí)踐中使用。因此在J2SE 1.5最終版本發(fā)布之前都很難看到其大范圍的使用,并且,它的設(shè)計(jì),API實(shí)現(xiàn)以及性能肯定還有無(wú)法預(yù)料的后果。但是,此時(shí),這個(gè)框架明顯能勝任其基本的目標(biāo),即為創(chuàng)建新的同步器提供一個(gè)高效的基礎(chǔ)。

7 致謝

Thanks to Dave Dice for countless ideas and advice during the development of this framework, to Mark Moir and Michael Scott for urging consideration of CLH queues, to David Holmes for critiquing early versions of the code and API, to Victor Luchangco and Bill Scherer for reviewing previous incarnations of the source code, and to the other members of the JSR166 Expert Group (Joe Bowbeer, Josh Bloch, Brian Goetz, David Holmes, and Tim Peierls) as well as Bill Pugh, for helping with design and specifications and commenting on drafts of this paper. Portions of this work were made possible by a DARPA PCES grant, NSF grant EIA-0080206 (for access to the 24way Sparc) and a Sun Collaborative Research Grant.

參考文獻(xiàn)

  • [1] Agesen, O., D. Detlefs, A. Garthwaite, R. Knippel, Y. S.Ramakrishna, and D. White. An Efficient Meta-lock for Implementing Ubiquitous Synchronization. ACM OOPSLA Proceedings, 1999.
  • [2] Andrews, G. Concurrent Programming. Wiley, 1991.
  • [3] Bacon, D. Thin Locks: Featherweight Synchronization for Java. ACM PLDI Proceedings, 1998.
  • [4] Buhr, P. M. Fortier, and M. Coffin. Monitor Classification,ACM Computing Surveys, March 1995.
  • [5] Craig, T. S. Building FIFO and priority-queueing spin locks from atomic swap. Technical Report TR 93-02-02,Department of Computer Science, University of Washington, Feb. 1993.
  • [6] Gamma, E., R. Helm, R. Johnson, and J. Vlissides. Design Patterns, Addison Wesley, 1996.
  • [7] Holmes, D. Synchronisation Rings, PhD Thesis, Macquarie University, 1999.
  • [8] Magnussen, P., A. Landin, and E. Hagersten. Queue locks on cache coherent multiprocessors. 8th Intl. Parallel Processing Symposium, Cancun, Mexico, Apr. 1994.
  • [9] Mellor-Crummey, J.M., and M. L. Scott. Algorithms for Scalable Synchronization on Shared-Memory Multiprocessors. ACM Trans. on Computer Systems,February 1991
  • [10] M. L. Scott and W N. Scherer III. Scalable Queue-Based Spin Locks with Timeout. 8th ACM Symp. on Principles and Practice of Parallel Programming, Snowbird, UT, June 2001.
  • [11] Sun Microsystems. Multithreading in the Solaris Operating Environment. White paper available at http://wwws.sun.com/software/solaris/whitepapers.html 2002.
  • [12] Zhang, H., S. Liang, and L. Bak. Monitor Conversion in a Multithreaded Computer System. United States Patent 6,691,304. 2004.

原文《The java.util.concurrent Synchronizer Framework》

作者:Doug Lea

以上就是java并發(fā)包JUC同步器框架AQS框架原文翻譯的詳細(xì)內(nèi)容,更多關(guān)于AQS框架原文翻譯的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Eureka注冊(cè)不上或注冊(cè)后IP不對(duì)(多網(wǎng)卡的坑及解決)

    Eureka注冊(cè)不上或注冊(cè)后IP不對(duì)(多網(wǎng)卡的坑及解決)

    這篇文章主要介紹了Eureka注冊(cè)不上或注冊(cè)后IP不對(duì)(多網(wǎng)卡的坑及解決),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • JAVA中DIFF算法實(shí)現(xiàn)

    JAVA中DIFF算法實(shí)現(xiàn)

    本文主要介紹了JAVA中DIFF算法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Sentinel中實(shí)現(xiàn)限流的兩種方法

    Sentinel中實(shí)現(xiàn)限流的兩種方法

    本文給大家介紹了Sentinel中實(shí)現(xiàn)限流的兩種方法,限流是一種通過(guò)控制系統(tǒng)對(duì)外提供的資源、服務(wù)或接口的訪問(wèn)數(shù)量或速率,以保護(hù)系統(tǒng)免受過(guò)載的一種策略,需要的朋友可以參考下
    2024-02-02
  • 詳解使用spring boot admin監(jiān)控spring cloud應(yīng)用程序

    詳解使用spring boot admin監(jiān)控spring cloud應(yīng)用程序

    本篇文章主要介紹了詳解使用spring boot admin監(jiān)控spring cloud應(yīng)用程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • Java中BigInteger類的使用方法詳解(全網(wǎng)最新)

    Java中BigInteger類的使用方法詳解(全網(wǎng)最新)

    這篇文章主要介紹了Java中BigInteger類的使用方法詳解,常用最全系列,本章作為筆記使用,內(nèi)容比較全面,但常用的只有:構(gòu)造函數(shù),基本運(yùn)算以及compareTo(),intValue(),setBit(),testBit()方法,需要的朋友可以參考下
    2023-05-05
  • 第三方網(wǎng)站微信登錄java代碼實(shí)現(xiàn)

    第三方網(wǎng)站微信登錄java代碼實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了第三方網(wǎng)站微信登錄的java代碼實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • JavaWeb簡(jiǎn)單文件上傳流程的實(shí)戰(zhàn)記錄

    JavaWeb簡(jiǎn)單文件上傳流程的實(shí)戰(zhàn)記錄

    在Web應(yīng)用系統(tǒng)開(kāi)發(fā)中,文件上傳和下載功能是非常常用的功能,下面這篇文章主要給大家介紹了關(guān)于JavaWeb實(shí)現(xiàn)簡(jiǎn)單文件上傳流程的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • 解決項(xiàng)目沒(méi)有build path的問(wèn)題

    解決項(xiàng)目沒(méi)有build path的問(wèn)題

    這篇文章主要介紹了解決項(xiàng)目沒(méi)有build path的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • MybatisX無(wú)法自動(dòng)生成entity實(shí)體類的解決方法

    MybatisX無(wú)法自動(dòng)生成entity實(shí)體類的解決方法

    本文主要介紹了MybatisX無(wú)法自動(dòng)生成entity實(shí)體類的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • idea插件之如何使用JarEditor編輯Java JAR文件

    idea插件之如何使用JarEditor編輯Java JAR文件

    JarEditor是一款用于在IntelliJIDEA中直接編輯JAR文件的插件,支持反編譯查看和編輯.class文件,并提供即時(shí)編譯與保存功能,通過(guò)JarEditor,用戶可以在IDE內(nèi)一站式完成JAR文件的編輯、管理和打包操作,提高開(kāi)發(fā)效率,但在生產(chǎn)環(huán)境中使用前,請(qǐng)確保備份并測(cè)試修改
    2025-01-01

最新評(píng)論

99精品一区二区三区的区| 国产精品手机在线看片| 不戴胸罩引我诱的隔壁的人妻| 日韩av熟妇在线观看| 色秀欧美视频第一页| 免费成人va在线观看| 区一区二区三国产中文字幕| 啊啊好慢点插舔我逼啊啊啊视频 | 老司机午夜精品视频资源| 视频久久久久久久人妻| 九九热99视频在线观看97| 亚洲福利午夜久久久精品电影网| 操人妻嗷嗷叫视频一区二区| 亚洲视频在线观看高清| 久久久久久99国产精品| 超污视频在线观看污污污 | 秋霞午夜av福利经典影视| 中文字幕 码 在线视频| 国产aⅴ一线在线观看| 美日韩在线视频免费看| 日噜噜噜夜夜噜噜噜天天噜噜噜| 天天干天天插天天谢| 99国内精品永久免费视频| 四川五十路熟女av| 青青青视频手机在线观看| 五月天久久激情视频| 中文字幕日韩无敌亚洲精品| 78色精品一区二区三区| 亚洲成人线上免费视频观看| 肏插流水妹子在线乐播下载| 日本xx片在线观看| 91国内精品久久久久精品一| 亚洲推理片免费看网站| 国产高清女主播在线| 沙月文乃人妻侵犯中文字幕在线 | 亚洲最大黄了色网站| 91高清成人在线视频| 最近中文2019年在线看| 日本熟妇喷水xxx| 亚洲综合在线视频可播放| 免费看高清av的网站| 国产精品久久久久久久女人18| 男生舔女生逼逼视频| 午夜免费体验区在线观看| 亚洲图库另类图片区| 日韩欧美亚洲熟女人妻| 丰满少妇人妻xxxxx| 国产日本精品久久久久久久| 一区二区三区激情在线| 男人操女人的逼免费视频| 国产伦精品一区二区三区竹菊| 亚洲国产欧美国产综合在线| 性感美女高潮视频久久久| 久草视频福利在线首页| av在线观看网址av| 午夜精品一区二区三区城中村| 免费看国产av网站| 中文字幕综合一区二区| 国产清纯美女al在线| 一级A一级a爰片免费免会员| huangse网站在线观看| 韩国AV无码不卡在线播放| 熟女俱乐部一二三区| 97资源人妻免费在线视频| 97欧洲一区二区精品免费| 免费人成黄页网站在线观看国产 | AV无码一区二区三区不卡| 国产成人综合一区2区| 黑人乱偷人妻中文字幕| 欧美少妇性一区二区三区| 一区二区三区久久中文字幕| 国产va在线观看精品| 夫妻在线观看视频91| 欧美日本在线视频一区| 亚洲一区久久免费视频| 国产精品探花熟女在线观看| 青青草人人妻人人妻| 天天操天天爽天天干| 亚洲国产成人无码麻豆艾秋| 欧美老鸡巴日小嫩逼| 精品亚洲国产中文自在线| 欧美亚洲免费视频观看| 国产一区二区神马久久| 国产精品国产三级国产精东 | 青青青艹视频在线观看| 男女第一次视频在线观看| 成年人免费看在线视频| 国产精品女邻居小骚货| 一个色综合男人天堂| 欧美特级特黄a大片免费| 午夜精品在线视频一区| 欧美日韩中文字幕欧美| 国产久久久精品毛片| 把腿张开让我插进去视频| 动漫av网站18禁| 521精品视频在线观看| 青青青视频自偷自拍38碰| 狠狠嗨日韩综合久久| 亚洲欧美另类手机在线| 亚洲成人精品女人久久久| 日本人妻少妇18—xx| 激情色图一区二区三区| 日韩三级电影华丽的外出 | 日韩精品中文字幕在线| 肏插流水妹子在线乐播下载| 在线观看的a站 最新| 欧美交性又色又爽又黄麻豆| 成人久久精品一区二区三区| 国产在线观看免费人成短视频| 91大神福利视频网| 在线亚洲天堂色播av电影| 天天日天天摸天天爱| 男人天堂av天天操| 中英文字幕av一区| 一区二区三区毛片国产一区| 国产亚洲精品品视频在线| 欧美黄片精彩在线免费观看| 欧美一区二区三区四区性视频| 超碰97免费人妻麻豆| 男人插女人视频网站| 色综合天天综合网国产成人 | 激情综合治理六月婷婷| 黑人巨大的吊bdsm| 国产精品手机在线看片| 欧美乱妇无乱码一区二区| 国产精品熟女久久久久浪潮| 天天摸天天亲天天舔天天操天天爽 | 国产亚洲欧美视频网站| 一区国内二区日韩三区欧美| 老鸭窝日韩精品视频观看| 中文字幕人妻一区二区视频| 天天做天天干天天舔| 黄色录像鸡巴插进去| 免费男阳茎伸入女阳道视频| 少妇人妻真实精品视频| 日韩美在线观看视频黄| 亚洲 中文字幕在线 日韩| 99热这里只有精品中文| 91极品新人『兔兔』精品新作| 99精品视频在线观看婷婷| 伊人日日日草夜夜草| 黄色片一级美女黄色片| 中英文字幕av一区| 亚洲码av无色中文| 超碰在线观看免费在线观看| 欧亚乱色一区二区三区| 97精品成人一区二区三区| 干逼又爽又黄又免费的视频| 成人网18免费视频版国产| 免费无码人妻日韩精品一区二区| 中文字幕在线视频一区二区三区| 美洲精品一二三产区区别| 成人在线欧美日韩国产| 人妻丝袜诱惑我操她视频| 超级福利视频在线观看| 91成人精品亚洲国产| 伊人综合免费在线视频| 鸡巴操逼一级黄色气| 开心 色 六月 婷婷| 青娱乐最新视频在线| 97超碰国语国产97超碰| 美女视频福利免费看| 2019av在线视频| 国产va在线观看精品| 青青青青青青青青青青草青青 | 18禁污污污app下载| 欧美一级片免费在线成人观看| 中文字幕在线永久免费播放| aⅴ精产国品一二三产品| 国产黄色高清资源在线免费观看| 91精品资源免费观看| 1769国产精品视频免费观看| 国产变态另类在线观看| 九色视频在线观看免费| av成人在线观看一区| 高清一区二区欧美系列| 久久久精品欧洲亚洲av| av视屏免费在线播放| 少妇一区二区三区久久久| 国产美女一区在线观看| 国产日韩欧美美利坚蜜臀懂色| 精品人妻每日一部精品| 中文字幕人妻av在线观看| 成人免费公开视频无毒| 欧美爆乳肉感大码在线观看| 夜夜嗨av一区二区三区中文字幕| 天天日天天摸天天爱| 欧美成人猛片aaaaaaa| 亚洲一级特黄特黄黄色录像片| 嫩草aⅴ一区二区三区| 午夜免费体验区在线观看| 91色老99久久九九爱精品| 狠狠的往里顶撞h百合| 最近中文字幕国产在线| 夜色撩人久久7777| 亚洲变态另类色图天堂网| 日韩美女搞黄视频免费| www久久久久久久久久久| 亚洲人一区二区中文字幕| 国产亚洲视频在线二区| 伊人综合免费在线视频| 久久久超爽一二三av| 在线观看欧美黄片一区二区三区| 午夜久久香蕉电影网| 福利视频广场一区二区| 日本三极片中文字幕| 亚洲无线观看国产高清在线| 免费在线观看视频啪啪| 姐姐的朋友2在线观看中文字幕| 色花堂在线av中文字幕九九| 国产视频在线视频播放| 特级无码毛片免费视频播放| 成人蜜臀午夜久久一区| 国产真实乱子伦a视频| 亚洲激情,偷拍视频| 亚洲天堂第一页中文字幕| 中文字幕AV在线免费看 | 女同性ⅹxx女同hd| 91综合久久亚洲综合| 天天做天天干天天舔| 亚洲自拍偷拍综合色| 国产日韩一区二区在线看| 亚洲av日韩av第一区二区三区| 欧美偷拍亚洲一区二区| 熟女人妻一区二区精品视频| 蜜桃视频在线欧美一区| 一区国内二区日韩三区欧美| 五十路熟女人妻一区二| 久久午夜夜伦痒痒想咳嗽P| 欧亚日韩一区二区三区观看视频 | 亚洲熟妇x久久av久久| 无码精品一区二区三区人| 久草极品美女视频在线观看| 啊啊啊想要被插进去视频| 九九视频在线精品播放| 国产黄色大片在线免费播放| 男人天堂最新地址av| 亚洲黄色av网站免费播放| 99人妻视频免费在线| 最新国产亚洲精品中文在线| 国产片免费观看在线观看| 亚洲午夜精品小视频| 国产麻豆剧传媒精品国产av蜜桃| 91综合久久亚洲综合| 人妻少妇性色欲欧美日韩 | 中文字幕 码 在线视频| 国产精品女邻居小骚货| 日韩国产乱码中文字幕| 小穴多水久久精品免费看| 日本黄色三级高清视频| 九色精品视频在线播放| 亚洲一区二区三区久久受| 亚洲一区二区三区精品视频在线 | 一级A一级a爰片免费免会员| 新97超碰在线观看| 午夜精品九一唐人麻豆嫩草成人| 欧美一级色视频美日韩| 女蜜桃臀紧身瑜伽裤| 韩国黄色一级二级三级| 视频啪啪啪免费观看| 久草电影免费在线观看| 99精品久久久久久久91蜜桃| 极品丝袜一区二区三区| 黄色视频成年人免费观看| tube69日本少妇| 自拍偷拍亚洲精品第2页| 亚洲1卡2卡三卡4卡在线观看| 不卡一不卡二不卡三| 一区二区免费高清黄色视频| 国产美女一区在线观看| 18禁美女羞羞免费网站| 丝袜肉丝一区二区三区四区在线看| 男人操女人逼逼视频网站| 午夜国产免费福利av| 午夜久久久久久久99| 国产精品黄色的av| 天天色天天舔天天射天天爽| 黑人解禁人妻叶爱071| 午夜福利人人妻人人澡人人爽| 超黄超污网站在线观看| 蜜桃精品久久久一区二区| 把腿张开让我插进去视频| 99精品国产自在现线观看| 国产精品亚洲在线观看| 97国产在线av精品| 久久麻豆亚洲精品av| 欧美视频一区免费在线| 91九色国产porny蝌蚪| 亚洲最大黄了色网站| 青娱乐蜜桃臀av色| 久久精品36亚洲精品束缚| 久久美欧人妻少妇一区二区三区| 国产大学生援交正在播放| 欧美黄色录像免费看的| 日本少妇的秘密免费视频| 日本熟妇丰满厨房55| 偷拍美女一区二区三区| 福利午夜视频在线观看| 果冻传媒av一区二区三区| 绝顶痉挛大潮喷高潮无码| 青青青国产片免费观看视频| 美女av色播在线播放| 日本人妻少妇18—xx| 国产性色生活片毛片春晓精品 | 亚洲最大黄了色网站| 和邻居少妇愉情中文字幕| 国产精品亚洲在线观看| 亚洲日产av一区二区在线| 男人和女人激情视频| 国产福利小视频免费观看| 亚洲成高清a人片在线观看| 欧美成人精品在线观看| 男女之间激情网午夜在线| 色综合久久五月色婷婷综合| 国产自拍黄片在线观看| 亚洲一区二区人妻av| 操操网操操伊剧情片中文字幕网| 亚洲人妻视频在线网| 黄色片一级美女黄色片| 精品av国产一区二区三区四区| 日韩成人性色生活片| 日本www中文字幕| 亚洲一区久久免费视频| 亚洲精品无码久久久久不卡| 91超碰青青中文字幕| 国产精品成人xxxx| 欧美日韩熟女一区二区三区| 国产午夜亚洲精品麻豆| 免费无毒热热热热热热久| 欧美日韩中文字幕欧美| 日本韩国免费一区二区三区视频| 成人精品在线观看视频| 人妻少妇亚洲一区二区| 日韩人妻xxxxx| 国产在线91观看免费观看| 馒头大胆亚洲一区二区| 欧洲黄页网免费观看| 最新日韩av传媒在线| 日视频免费在线观看| 欧美日韩v中文在线| 狠狠操操操操操操操操操| 久久久久久cao我的性感人妻| 六月婷婷激情一区二区三区| 欧美男同性恋69视频| 欧美黄片精彩在线免费观看| 特黄老太婆aa毛毛片| 又粗又硬又猛又黄免费30| 搡老熟女一区二区在线观看| 深夜男人福利在线观看| 国产美女精品福利在线| 色av色婷婷人妻久久久精品高清| 天天日天天爽天天干| 国产精品熟女久久久久浪潮| 亚洲伊人色一综合网| 91小伙伴中女熟女高潮| 在线观看视频一区麻豆| 色偷偷伊人大杳蕉综合网| 亚洲码av无色中文| 91久久国产成人免费网站| 国产高清97在线观看视频| 看一级特黄a大片日本片黑人| 亚洲激情偷拍一区二区| 一区二区三区激情在线| 欧美日韩亚洲国产无线码| 2022国产综合在线干| 亚洲天堂第一页中文字幕| 青青青青青免费视频| 91极品新人『兔兔』精品新作| 亚洲另类在线免费观看| 老司机免费福利视频网| 日韩不卡中文在线视频网站| 亚洲综合在线视频可播放| 中文字幕人妻被公上司喝醉在线| 社区自拍揄拍尻屁你懂的| 亚洲福利精品视频在线免费观看| 偷拍自拍国产在线视频| 国产亚洲国产av网站在线| 在线视频自拍第三页| 亚洲精品欧美日韩在线播放| 桃色视频在线观看一区二区| 美女张开两腿让男人桶av| 老司机99精品视频在线观看| 亚洲欧美综合另类13p| av一区二区三区人妻| 中文字幕乱码av资源| 久久精品国产999| 亚洲在线一区二区欧美| 成人av中文字幕一区| 91九色porny蝌蚪国产成人| 欧美成人黄片一区二区三区| 91大神福利视频网| 国产超码片内射在线| 欧美viboss性丰满| 69精品视频一区二区在线观看| 精品视频国产在线观看| 色呦呦视频在线观看视频| 啪啪啪啪啪啪啪免费视频| 成年人的在线免费视频| 麻豆精品成人免费视频| 天天艹天天干天天操| 在线免费91激情四射 | 又粗又长 明星操逼小视频| 综合精品久久久久97| 天天色天天爱天天爽| 亚洲第一伊人天堂网| 大香蕉福利在线观看| 2022国产精品视频| 91she九色精品国产| 成人精品在线观看视频| 国产在线一区二区三区麻酥酥| 在线 中文字幕 一区| 久久久久五月天丁香社区| www日韩毛片av| 天堂av在线官网中文| 午夜激情精品福利视频| av天堂资源最新版在线看| chinese国产盗摄一区二区| 91精品综合久久久久3d动漫| 亚洲综合乱码一区二区| 人妻丝袜av在线播放网址| 少妇与子乱在线观看| 91九色porny国产在线| 制丝袜业一区二区三区| 欧美精品免费aaaaaa| 天天日天天爽天天爽| 91国产资源在线视频| 福利在线视频网址导航| 人妻少妇一区二区三区蜜桃| 婷婷综合蜜桃av在线| 国产成人自拍视频在线免费观看| 中文字母永久播放1区2区3区| 日韩亚洲高清在线观看| 欧美亚洲偷拍自拍色图| 欧美中文字幕一区最新网址| 直接观看免费黄网站| 亚洲成a人片777777| 久久免看30视频口爆视频| 少妇ww搡性bbb91| 欧美va亚洲va天堂va| 亚洲欧美激情中文字幕| eeuss鲁片一区二区三区| 98精产国品一二三产区区别| 国产97视频在线精品| 中文字幕第一页国产在线| 日韩一区二区电国产精品| 亚洲国产欧美国产综合在线| 成人免费公开视频无毒| 亚洲中文字幕综合小综合| 色综合久久久久久久久中文| 蜜桃精品久久久一区二区| 日日摸夜夜添夜夜添毛片性色av| 国产精品一二三不卡带免费视频| 亚洲第17页国产精品| 精品一区二区三区午夜| 性感美女诱惑福利视频| 国产高清在线在线视频| 2021久久免费视频| 78色精品一区二区三区| 九色视频在线观看免费| 狠狠地躁夜夜躁日日躁| 亚洲av男人天堂久久| 99热久久这里只有精品8| 亚洲天堂精品久久久| av中文字幕网址在线| 亚洲国产在人线放午夜| 欧美爆乳肉感大码在线观看| av中文字幕网址在线| 亚洲黄色av网站免费播放| 国产刺激激情美女网站| 偷拍自拍国产在线视频| 亚洲一级特黄特黄黄色录像片| 姐姐的朋友2在线观看中文字幕| av线天堂在线观看| 亚洲码av无色中文| 亚洲在线一区二区欧美| 色爱av一区二区三区| 久草视频首页在线观看| 欧美视频综合第一页| 日韩av有码中文字幕| 国产综合精品久久久久蜜臀| 亚洲嫩模一区二区三区| 中文字幕人妻一区二区视频| 欧美香蕉人妻精品一区二区| 久久精品亚洲成在人线a| 欧美成人综合视频一区二区| 视频 一区二区在线观看| aⅴ五十路av熟女中出| 色综合久久无码中文字幕波多| 国产成人小视频在线观看无遮挡| 成人免费公开视频无毒| 99久久超碰人妻国产| 美女视频福利免费看| 人妻无码中文字幕专区| 十八禁在线观看地址免费| 最近的中文字幕在线mv视频| 福利国产视频在线观看| 国产精彩福利精品视频| 高清成人av一区三区 | 55夜色66夜色国产精品站| 午夜精品亚洲精品五月色| 中文字幕人妻三级在线观看| 很黄很污很色的午夜网站在线观看| 亚洲av日韩精品久久久| 97年大学生大白天操逼| 五月天色婷婷在线观看视频免费| 亚洲国产在人线放午夜| 日韩伦理短片在线观看| 大鸡巴插入美女黑黑的阴毛| 沙月文乃人妻侵犯中文字幕在线 | 天天日天天爽天天爽| 2021最新热播中文字幕| 国产精品午夜国产小视频| 国产亚洲欧美45p| 在线观看操大逼视频| 人妻少妇av在线观看| 91小伙伴中女熟女高潮| 在线观看日韩激情视频| 欧美男同性恋69视频| 男女第一次视频在线观看| 欧美亚洲少妇福利视频| 人妻激情图片视频小说| 人妻丝袜精品中文字幕| 天天摸天天日天天操| 国产成人精品av网站| 大鸡吧插逼逼视频免费看| 亚洲一级av大片免费观看| 欧美亚洲国产成人免费在线| 中文字幕一区二 区二三区四区| 天天日夜夜干天天操| 国产性色生活片毛片春晓精品 | 阴茎插到阴道里面的视频| 欧美精品黑人性xxxx| 91大神福利视频网| 国产在线91观看免费观看| 青娱乐蜜桃臀av色| 操的小逼流水的文章| 日本精品视频不卡一二三| 国产一区自拍黄视频免费观看| 久久艹在线观看视频| 99久久成人日韩欧美精品| 亚洲另类在线免费观看| 日韩av大胆在线观看| 国产成人自拍视频播放| 日本性感美女写真视频| 免费岛国喷水视频在线观看| 经典国语激情内射视频| 在线免费观看视频一二区| 91国内精品久久久久精品一| 国产精品国产三级国产精东| 亚洲欧美成人综合在线观看| 97小视频人妻一区二区| 啪啪啪啪啪啪啪啪啪啪黄色| 日本五十路熟新垣里子| 五十路av熟女松本翔子| 亚洲国产精品久久久久久6| 日日日日日日日日夜夜夜夜夜夜| 521精品视频在线观看| 亚洲粉嫩av一区二区三区| 天堂资源网av中文字幕| av资源中文字幕在线观看| 熟妇一区二区三区高清版| 色婷婷六月亚洲综合香蕉| 久草视频在线免播放| 免费无码人妻日韩精品一区二区| 国产成人精品一区在线观看| 亚洲欧美清纯唯美另类| 91天堂天天日天天操| 成人国产小视频在线观看| 激情人妻校园春色亚洲欧美| 动漫美女的小穴视频| 亚洲成人黄色一区二区三区| 欧洲国产成人精品91铁牛tv| 日韩欧美国产精品91| 亚洲午夜伦理视频在线| 中文字幕高清在线免费播放| 日本一道二三区视频久久| 欧美中国日韩久久精品| 亚洲国际青青操综合网站| 久久三久久三久久三久久| 中文字幕1卡1区2区3区| 伊人综合免费在线视频| 韩国黄色一级二级三级| 色天天天天射天天舔| 精品国产乱码一区二区三区乱| 欧美黑人与人妻精品| av网址在线播放大全| 真实国产乱子伦一区二区| 国产不卡av在线免费| 在线观看视频 你懂的| 国产实拍勾搭女技师av在线| 久久这里只有精彩视频免费| 日本一二三中文字幕| 蜜臀av久久久久久久| 亚洲av无乱一区二区三区性色| 韩国黄色一级二级三级| 一区二区三区四区中文| 女同性ⅹxx女同h偷拍| 日韩熟女av天堂系列| 91一区精品在线观看| 亚洲中文精品人人免费| 人妻少妇精品久久久久久| 日日夜夜大香蕉伊人| 日本免费视频午夜福利视频| 操操网操操伊剧情片中文字幕网| 午夜在线观看岛国av,com| 丰满少妇人妻xxxxx| 91av中文视频在线| 爱有来生高清在线中文字幕| yy96视频在线观看| 日韩在线中文字幕色| 国产亚洲精品视频合集| 日韩欧美一级精品在线观看| 男人的天堂一区二区在线观看| 黄色成人在线中文字幕| 青娱乐最新视频在线| 国产精品黄大片在线播放| 亚洲成人国产综合一区| 国产精品福利小视频a| 人人妻人人爽人人添夜| 少妇与子乱在线观看| 欧美另类z0z变态| 久久永久免费精品人妻专区| 中文字幕日韩精品就在这里| 99久久成人日韩欧美精品| 国产变态另类在线观看| 日韩美av高清在线| 国产九色91在线视频| 55夜色66夜色国产精品站| 亚洲精品一线二线在线观看| 国产亚洲欧美另类在线观看| 国产丰满熟女成人视频| 在线观看av观看av| 国产高清精品极品美女| 日韩美女搞黄视频免费| 精品国产高潮中文字幕| rct470中文字幕在线| 毛片av在线免费看| 日韩成人免费电影二区| 日韩精品激情在线观看| 欧美视频不卡一区四区| yellow在线播放av啊啊啊| 黑人大几巴狂插日本少妇| 亚洲欧美激情人妻偷拍| 亚洲精品 欧美日韩| 国产福利在线视频一区| 喷水视频在线观看这里只有精品 | 欧美精品一二三视频| 国产精品手机在线看片| 免费国产性生活视频| 93精品视频在线观看| 黄色片黄色片wyaa| 国产成人精品亚洲男人的天堂| 黄色视频在线观看高清无码 | 99热国产精品666| 区一区二区三国产中文字幕| 不戴胸罩引我诱的隔壁的人妻| 日韩美女福利视频网| 亚洲国产成人最新资源| 国产一区av澳门在线观看| 日本在线不卡免费视频| av一区二区三区人妻| 欧美日韩v中文在线| 天天艹天天干天天操| 欧美老妇精品另类不卡片| 加勒比视频在线免费观看| 久久免费看少妇高潮完整版| 国产丰满熟女成人视频| 日韩一区二区电国产精品| 插小穴高清无码中文字幕| 家庭女教师中文字幕在线播放| 国产中文精品在线观看| 亚洲欧美一卡二卡三卡| 精品久久久久久久久久中文蒉| caoporm超碰国产| 丝袜国产专区在线观看| 青青草人人妻人人妻| 五月色婷婷综合开心网4438| 亚洲国产欧美一区二区三区久久| 国产亚州色婷婷久久99精品| 99精品国产自在现线观看| 80电影天堂网官网| 一级黄色片夫妻性生活| 四川五十路熟女av| 亚洲综合色在线免费观看| 亚洲欧美另类手机在线| 好男人视频在线免费观看网站| 成人av天堂丝袜在线观看| 午夜91一区二区三区| 91国偷自产一区二区三区精品| 好男人视频在线免费观看网站| 中国产一级黄片免费视频播放| 天天草天天色天天干| 亚洲成人精品女人久久久| 无码精品一区二区三区人| 美女小视频网站在线| 中文字幕 亚洲av| 精品亚洲国产中文自在线| 天天日天天干天天插舔舔| 亚洲中文字幕乱码区| 97人人妻人人澡人人爽人人精品| 成年人午夜黄片视频资源| 国产精品视频资源在线播放| av视网站在线观看| 国产精品自拍在线视频| 国产白袜脚足J棉袜在线观看| 免费无毒热热热热热热久| 国产又粗又猛又爽又黄的视频美国| 91精品国产91久久自产久强| 亚洲av无乱一区二区三区性色| 国产一区二区神马久久| 中文字幕 亚洲av| 成人福利视频免费在线| 99热色原网这里只有精品| 75国产综合在线视频| 中国视频一区二区三区| 都市家庭人妻激情自拍视频| 欧美黑人巨大性xxxxx猛交| 日本韩国免费一区二区三区视频| 欧美一区二区三区高清不卡tv| 国产麻豆精品人妻av| 日本av高清免费网站| 日本一本午夜在线播放| 青青在线视频性感少妇和隔壁黑丝| 在线播放一区二区三区Av无码| 国产精品日韩欧美一区二区| 欧亚日韩一区二区三区观看视频| 视频二区在线视频观看| 亚洲午夜在线视频福利| 亚洲麻豆一区二区三区| 精品日产卡一卡二卡国色天香 | 国产夫妻视频在线观看免费| 亚洲高清自偷揄拍自拍| 99婷婷在线观看视频| 91免费观看国产免费| 日日操夜夜撸天天干| 亚洲免费成人a v| 精品高跟鞋丝袜一区二区| 午夜激情高清在线观看| 最新91九色国产在线观看| 韩国爱爱视频中文字幕| 99久久超碰人妻国产| 无码精品一区二区三区人| 欧美老妇精品另类不卡片| 人妻无码色噜噜狠狠狠狠色| 天堂av在线最新版在线| 97超碰最新免费在线观看| 女蜜桃臀紧身瑜伽裤| 人妻少妇av在线观看| 亚洲欧美成人综合视频| 亚洲午夜电影在线观看| japanese日本熟妇另类| 九色视频在线观看免费| 国产视频精品资源网站| 一个色综合男人天堂| 国产综合视频在线看片| 日本啪啪啪啪啪啪啪| 亚洲色偷偷综合亚洲AV伊人| 精品少妇一二三视频在线| 国产欧美日韩第三页| 污污小视频91在线观看| 黄色黄色黄片78在线| japanese日本熟妇另类| 9色在线视频免费观看| 日本av在线一区二区三区| 一区二区三区麻豆福利视频| 亚洲推理片免费看网站| 综合页自拍视频在线播放| 97人妻色免费视频| 大黑人性xxxxbbbb| 最新日韩av传媒在线| 美女 午夜 在线视频| 丝袜美腿视频诱惑亚洲无| 欧美黄色录像免费看的| 女警官打开双腿沦为性奴| 午夜毛片不卡免费观看视频| 成人亚洲国产综合精品| 亚洲午夜高清在线观看| 中文字幕最新久久久| 亚洲精品午夜aaa久久| 国产黄色高清资源在线免费观看| 中文字幕AV在线免费看 | 亚洲卡1卡2卡三卡四老狼| 97国产福利小视频合集| 综合激情网激情五月天| 一个色综合男人天堂| 欧美一区二区三区乱码在线播放| 乱亲女秽乱长久久久| 天天日天天干天天要| 精品久久久久久高潮| 久久精品国产999| av中文字幕在线观看第三页| 日韩中文字幕在线播放第二页 | 欧美女同性恋免费a| 日本一二三中文字幕| 在线视频国产欧美日韩| 国产精品国产三级麻豆| 女人精品内射国产99| 91福利视频免费在线观看| 中文字幕一区二区人妻电影冢本| 亚洲国产成人无码麻豆艾秋| 天天干天天日天天谢综合156| 国产亚州色婷婷久久99精品| 国产欧美日韩在线观看不卡| 日韩北条麻妃一区在线| 蜜桃久久久久久久人妻| 久久精品视频一区二区三区四区 | 亚洲国产成人无码麻豆艾秋| 在线观看黄色成年人网站| 三级等保密码要求条款| 伊人综合aⅴ在线网| 日本一二三中文字幕| 国产三级精品三级在线不卡| 2022国产综合在线干| 动漫av网站18禁| 欧美精品国产综合久久| 国产chinesehd精品麻豆| sejizz在线视频| 久青青草视频手机在线免费观看| 99精品视频在线观看婷婷| 欧美一区二区三区高清不卡tv| 国产又色又刺激在线视频| 北条麻妃高跟丝袜啪啪| 在线不卡成人黄色精品| 无套猛戳丰满少妇人妻| 日韩特级黄片高清在线看| 日本性感美女写真视频| 青青青青青手机视频| 顶级尤物粉嫩小尤物网站| 专门看国产熟妇的网站| 日本中文字幕一二区视频| 成人免费公开视频无毒| 久久www免费人成一看片| 熟女人妻一区二区精品视频| 成人在线欧美日韩国产| 免费看美女脱光衣服的视频| 国产一级精品综合av| 亚洲无码一区在线影院| 青青青青爽手机在线| 欧美地区一二三专区| 国产精品一区二区久久久av| 人妻少妇一区二区三区蜜桃| 91免费观看在线网站| 97精品综合久久在线| 黄片三级三级三级在线观看| 成年人中文字幕在线观看| 日韩一区二区电国产精品| 黑人解禁人妻叶爱071| 性欧美激情久久久久久久| 日本a级视频老女人| 亚洲精品国产久久久久久| 久久久久久久精品老熟妇| av中文字幕在线观看第三页| 1024久久国产精品| 青青青视频手机在线观看| 青青草在观免费国产精品| 国产熟妇乱妇熟色T区| 国产麻豆剧果冻传媒app| 国产午夜激情福利小视频在线| 午夜激情久久不卡一区二区 | 75国产综合在线视频| 日本少妇高清视频xxxxx| 老熟妇xxxhd老熟女| 黄色录像鸡巴插进去| 色综合久久久久久久久中文| 亚洲乱码中文字幕在线| 亚洲精品精品国产综合| 女同互舔一区二区三区| 精品高潮呻吟久久av| 女生被男生插的视频网站| 人妻无码中文字幕专区| 精品一区二区三区欧美| 亚洲码av无色中文| 亚洲欧美激情国产综合久久久| 任我爽精品视频在线播放| 亚洲国际青青操综合网站 | 制丝袜业一区二区三区| 日韩加勒比东京热二区| 精品久久久久久高潮| 亚洲一区二区三区精品视频在线| 国产精品中文av在线播放| 人妻少妇性色欲欧美日韩| 日本裸体熟妇区二区欧美| 福利一二三在线视频观看| 免费观看成年人视频在线观看| 51国产成人精品视频| 国产又粗又硬又猛的毛片视频| 一级A一级a爰片免费免会员| 特大黑人巨大xxxx| 亚洲公开视频在线观看| 80电影天堂网官网| 国产91久久精品一区二区字幕| 年轻的人妻被夫上司侵犯| 久久香蕉国产免费天天| 夜鲁夜鲁狠鲁天天在线| 搞黄色在线免费观看| 日本真人性生活视频免费看| 欧美亚洲偷拍自拍色图| 亚洲欧美一区二区三区爱爱动图 | 亚洲一区二区三区av网站| 中文字幕 码 在线视频| 中文字幕午夜免费福利视频| 国产性感美女福利视频| 免费在线看的黄片视频| 国产精彩对白一区二区三区| 福利国产视频在线观看| 黄色视频成年人免费观看| 亚洲图片偷拍自拍区| 性感美女诱惑福利视频| 日本免费一级黄色录像| 国产在线观看黄色视频| 婷婷综合蜜桃av在线| 天天色天天爱天天爽| 久久国产精品精品美女| 新97超碰在线观看| 国产精品免费不卡av| 日曰摸日日碰夜夜爽歪歪| 午夜影院在线观看视频羞羞羞| 日本免费午夜视频网站| 又色又爽又黄又刺激av网站| 97欧洲一区二区精品免费| 国产午夜男女爽爽爽爽爽视频| 亚洲精品三级av在线免费观看| 日本av在线一区二区三区| 含骚鸡巴玩逼逼视频| 99精品国产自在现线观看| 不卡日韩av在线观看| AV天堂一区二区免费试看| 青青草人人妻人人妻| 9色在线视频免费观看| 国内自拍第一页在线观看| av一区二区三区人妻| 97人人妻人人澡人人爽人人精品| 欧美日韩在线精品一区二区三| 亚洲中文字幕校园春色| 99热碰碰热精品a中文| 天天插天天狠天天操| 欲乱人妻少妇在线视频裸| 国产麻豆精品人妻av| 91麻豆精品秘密入口在线观看| 国产高清精品一区二区三区| 亚洲一级美女啪啪啪| 日韩精品二区一区久久| 成人av在线资源网站| www日韩毛片av| 国产高清在线观看1区2区| 经典亚洲伊人第一页| av黄色成人在线观看| 日韩一个色综合导航| 中文字幕av熟女人妻| 中文字幕在线永久免费播放| 五月婷婷在线观看视频免费| 岛国黄色大片在线观看| 亚洲一区久久免费视频| 黑人借宿ntr人妻的沦陷2| 2020中文字幕在线播放| 狠狠躁狠狠爱网站视频| 日韩亚洲高清在线观看| 日本啪啪啪啪啪啪啪| av日韩在线观看大全| 亚洲女人的天堂av| 涩爱综合久久五月蜜臀| 色婷婷精品大在线观看| 欧美在线偷拍视频免费看| 91久久国产成人免费网站| 人妻少妇一区二区三区蜜桃| 91一区精品在线观看| 在线免费观看靠比视频的网站| 亚洲精品福利网站图片| 人妻少妇中文有码精品| 天天综合天天综合天天网| 中国视频一区二区三区| 国产日韩精品免费在线| 韩国黄色一级二级三级| 好了av中文字幕在线| 一个色综合男人天堂| 亚洲av色香蕉一区二区三区| 中字幕人妻熟女人妻a62v网| 91色九色porny| 中文字幕免费福利视频6| 超黄超污网站在线观看| 人妻少妇亚洲一区二区| 老司机午夜精品视频资源 | 老熟妇凹凸淫老妇女av在线观看| 中文字幕在线观看极品视频| 视频一区二区综合精品| 美女在线观看日本亚洲一区| 天天干天天搞天天摸| 人妻少妇性色欲欧美日韩| 免费人成黄页网站在线观看国产| 国产精品三级三级三级| 青青擦在线视频国产在线| 丝袜长腿第一页在线| 婷婷午夜国产精品久久久| 唐人色亚洲av嫩草| 日本福利午夜电影在线观看| 日本黄色特一级视频| 人人爱人人妻人人澡39| 国产乱子伦精品视频潮优女| 日本一二三区不卡无| 2017亚洲男人天堂| 天天日天天摸天天爱| 中国黄片视频一区91| 91小伙伴中女熟女高潮| 日本少妇的秘密免费视频| AV无码一区二区三区不卡| av日韩在线观看大全| 欧美在线精品一区二区三区视频| 福利一二三在线视频观看| 极品丝袜一区二区三区| 制丝袜业一区二区三区| 精品黑人一区二区三区久久国产| 99婷婷在线观看视频| 大屁股肉感人妻中文字幕在线| 国产品国产三级国产普通话三级| 中文字幕日韩人妻在线三区| 亚洲精品午夜久久久久| 97成人免费在线观看网站| 亚洲国产在线精品国偷产拍| 粉嫩欧美美人妻小视频| 中文字幕中文字幕人妻| 五月天久久激情视频| 欧美中国日韩久久精品| 成人在线欧美日韩国产| 38av一区二区三区| 精品suv一区二区69| 国产日韩一区二区在线看| 国产亚洲四十路五十路| 懂色av蜜桃a v| 丁香花免费在线观看中文字幕| 2022国产综合在线干| 亚洲精品无码久久久久不卡| 亚洲人成精品久久久久久久| 99久久久无码国产精品性出奶水| 在线成人日韩av电影| 国产黄网站在线观看播放| 天天色天天操天天透| 久久麻豆亚洲精品av| 蜜桃精品久久久一区二区| 视频一区二区三区高清在线| 国产视频网站一区二区三区| 精产国品久久一二三产区区别 | 最近中文字幕国产在线| 99热色原网这里只有精品| 久久久久久久久久久免费女人| 亚洲一级特黄特黄黄色录像片| 51国产成人精品视频| 51国产偷自视频在线播放| 亚洲成人av在线一区二区| 国产精彩对白一区二区三区 | 91九色porny国产蝌蚪视频| 视频 国产 精品 熟女 | 少妇一区二区三区久久久| 最新欧美一二三视频| 91精品国产综合久久久蜜 | 国产三级精品三级在线不卡| 在线观看日韩激情视频| 亚洲免费成人a v| 在线观看黄色成年人网站| huangse网站在线观看| 国产熟妇一区二区三区av| 岛国青草视频在线观看| 93视频一区二区三区| 精品一区二区亚洲欧美| 91麻豆精品久久久久| 国产白袜脚足J棉袜在线观看| 成人亚洲国产综合精品| 日韩美女搞黄视频免费| 亚洲欧美日韩视频免费观看| 青青青青视频在线播放| 亚洲一区二区三区精品视频在线| 免费费一级特黄真人片| 78色精品一区二区三区| 视频一区二区三区高清在线| 男人天堂最新地址av| 99国内精品永久免费视频| 欧美精品激情在线最新观看视频| 久久亚洲天堂中文对白| 偷拍3456eee| 亚洲美女高潮喷浆视频| 姐姐的朋友2在线观看中文字幕| 91av精品视频在线| 婷婷午夜国产精品久久久| 日本少妇精品免费视频| 亚洲精品在线资源站| 久草福利电影在线观看| 75国产综合在线视频| 精品一区二区三四区| 免费黄页网站4188| 色在线观看视频免费的| 成人国产小视频在线观看| 激情图片日韩欧美人妻| 91麻豆精品91久久久久同性| 香蕉91一区二区三区| 又粗又长 明星操逼小视频| 青青草原色片网站在线观看| 9久在线视频只有精品| 欧美偷拍自拍色图片| 亚洲成人午夜电影在线观看 | 青青操免费日综合视频观看| 成人av天堂丝袜在线观看| 欧美国产亚洲中英文字幕| 日韩加勒比东京热二区| 日韩在线中文字幕色| 亚洲av香蕉一区区二区三区犇| 欧美视频一区免费在线| 福利视频网久久91| 少妇人妻100系列| 国产视频一区在线观看| 黄色无码鸡吧操逼视频| 韩国三级aaaaa高清视频 | 欧美成一区二区三区四区| 五十路在线观看完整版| 三级av中文字幕在线观看| 亚洲狠狠婷婷综合久久app| 欧美成人小视频在线免费看| 热思思国产99re| 欧美日韩一级黄片免费观看| 日韩成人性色生活片| 最新97国产在线视频| 亚洲综合在线视频可播放| 亚洲美女美妇久久字幕组| 岛国黄色大片在线观看| yy6080国产在线视频| 精品一区二区三区午夜| 亚洲欧美精品综合图片小说| 在线观看视频污一区| 国产日韩欧美美利坚蜜臀懂色| 欧美精品激情在线最新观看视频| 久久尻中国美女视频| 夜夜操,天天操,狠狠操| 国产亚洲视频在线观看| 国产露脸对白在线观看| 精品av国产一区二区三区四区 | 欧美美女人体视频一区| 亚洲激情偷拍一区二区| 可以免费看的www视频你懂的| 色爱av一区二区三区| 亚洲成a人片777777| 国产视频一区二区午夜| 绯色av蜜臀vs少妇| 国产卡一卡二卡三乱码手机| 国产老熟女伦老熟妇ⅹ| 日本精品视频不卡一二三| 国产成人精品一区在线观看| 国产污污污污网站在线| 天天日夜夜操天天摸| 啊用力插好舒服视频| 国产精品成人xxxx| 青青青aaaa免费| 2022天天干天天操| 97a片免费在线观看| 97青青青手机在线视频| 小穴多水久久精品免费看| 亚洲精品欧美日韩在线播放| 久久久久久久久久久久久97| 亚洲综合在线观看免费| 精品人人人妻人人玩日产欧| 蝴蝶伊人久久中文娱乐网| 免费一级黄色av网站| 久青青草视频手机在线免费观看| 98视频精品在线观看| 亚洲 色图 偷拍 欧美| 色综合久久五月色婷婷综合| av中文字幕在线观看第三页| 精品久久久久久久久久久a√国产 日本女大学生的黄色小视频 | 夜夜嗨av一区二区三区中文字幕| 国产精品久久久黄网站| 男人的天堂在线黄色| 亚洲天堂精品福利成人av| 日韩欧美一级精品在线观看| 日日爽天天干夜夜操| av手机在线免费观看日韩av| 视频二区在线视频观看| 欧美特级特黄a大片免费| 男人的天堂av日韩亚洲| 密臀av一区在线观看| 亚洲av自拍天堂网| 9久在线视频只有精品| 91久久精品色伊人6882| 欧美日韩高清午夜蜜桃大香蕉| 偷拍自拍国产在线视频| 人妻少妇亚洲精品中文字幕| 伊人精品福利综合导航| 2018在线福利视频| 操人妻嗷嗷叫视频一区二区| 可以在线观看的av中文字幕| 亚洲欧美综合另类13p| 日韩影片一区二区三区不卡免费| 大陆胖女人与丈夫操b国语高清| 欧美日韩中文字幕欧美| 国产在线91观看免费观看| 懂色av之国产精品| 亚洲人妻av毛片在线| 伊人情人综合成人久久网小说| 欧美视频综合第一页| 91九色porny蝌蚪国产成人| 国产男女视频在线播放| 天天日天天日天天射天天干| 亚洲av成人免费网站| 自拍偷拍日韩欧美一区二区| 偷拍自拍视频图片免费| 美洲精品一二三产区区别| 人妻丝袜诱惑我操她视频| 99精品国自产在线人| 青青青青青青青青青国产精品视频| 日美女屁股黄邑视频| 91亚洲国产成人精品性色| 都市家庭人妻激情自拍视频| 欧美另类重口味极品在线观看| 亚洲av人人澡人人爽人人爱| 成年人的在线免费视频| 黄片大全在线观看观看| 天堂av狠狠操蜜桃| 爱爱免费在线观看视频| 青青草原网站在线观看| 欧美在线一二三视频| 精品黑人巨大在线一区| 国产免费高清视频视频| 老司机欧美视频在线看| 亚洲粉嫩av一区二区三区| 久久久久久久一区二区三| 传媒在线播放国产精品一区 | 天天做天天干天天操天天射| 特一级特级黄色网片| 精品久久久久久久久久中文蒉| 中国视频一区二区三区| 直接能看的国产av| 亚洲欧美久久久久久久久| 亚洲男人的天堂a在线| 综合国产成人在线观看| 中文字幕日韩精品日本| 欧美偷拍亚洲一区二区| 99国产精品窥熟女精品| 天天操天天操天天碰| 91极品大一女神正在播放 | 人妻无码中文字幕专区| 欧美另类重口味极品在线观看| 国产成人自拍视频播放 | 一二三区在线观看视频| 中文字幕免费福利视频6| 青青青青在线视频免费观看| 一级黄色片夫妻性生活| 色av色婷婷人妻久久久精品高清| 日本中文字幕一二区视频| 美女被肏内射视频网站| 老司机深夜免费福利视频在线观看| 少妇人妻100系列| 91中文字幕免费在线观看| 天天日天天干天天插舔舔| 综合精品久久久久97| 91自产国产精品视频| 男人插女人视频网站| 日韩欧美亚洲熟女人妻| 欧美美女人体视频一区| 精品国产高潮中文字幕| 93精品视频在线观看| 国产午夜亚洲精品麻豆| 55夜色66夜色国产精品站| 蜜桃视频在线欧美一区| 亚洲国产第一页在线观看| 国产成人小视频在线观看无遮挡| 国产av欧美精品高潮网站| 社区自拍揄拍尻屁你懂的| 青青青青在线视频免费观看| 2021最新热播中文字幕| 亚洲人妻视频在线网| 999九九久久久精品| 91麻豆精品秘密入口在线观看| 亚洲一区二区三区久久午夜| 国产精品亚洲在线观看| 国产一区二区三免费视频 | 国产精品一区二区av国| 白白操白白色在线免费视频| 天码人妻一区二区三区在线看| 非洲黑人一级特黄片| 久久机热/这里只有| 女同互舔一区二区三区| 女生自摸在线观看一区二区三区| 女同性ⅹxx女同hd| 中文字幕日本人妻中出| 91精品国产麻豆国产| 天天操天天污天天射| 国产av自拍偷拍盛宴| 国产 在线 免费 精品| 天天干天天日天天干天天操| 欧美精品中文字幕久久二区| 伊人精品福利综合导航| 欧美日本在线视频一区| 亚洲图片偷拍自拍区| 99精品国自产在线人| 天天日天天天天天天天天天天| 天天射夜夜操狠狠干| 日韩精品中文字幕在线| 中文字幕熟女人妻久久久| 亚洲成人线上免费视频观看| 欧美视频一区免费在线| 特大黑人巨大xxxx| 91精品综合久久久久3d动漫| 国产日韩一区二区在线看| 久久国产精品精品美女| 亚洲成人精品女人久久久| 好男人视频在线免费观看网站| 久久机热/这里只有| 亚洲av无乱一区二区三区性色| 亚洲视频乱码在线观看| 中文字幕 人妻精品| 天天日天天摸天天爱| 精品少妇一二三视频在线| wwwxxx一级黄色片| 亚国产成人精品久久久| 伊人日日日草夜夜草| 97成人免费在线观看网站| av一区二区三区人妻| 国产又色又刺激在线视频| 男人天堂最新地址av| 欧美成人精品欧美一级黄色| 插逼视频双插洞国产操逼插洞| 久久麻豆亚洲精品av| 天天干夜夜操啊啊啊| 久久丁香婷婷六月天| 日韩北条麻妃一区在线| 成人色综合中文字幕| av资源中文字幕在线观看| 老司机你懂得福利视频| 亚洲超碰97人人做人人爱| 日本高清成人一区二区三区| 播放日本一区二区三区电影| 亚洲国产成人无码麻豆艾秋| 天天干天天日天天谢综合156| 狠狠躁夜夜躁人人爽天天久天啪| av在线免费观看亚洲天堂| 国产在线观看免费人成短视频| 后入美女人妻高清在线| 亚洲精品午夜aaa久久| av线天堂在线观看| 大屁股肉感人妻中文字幕在线| 精品乱子伦一区二区三区免费播| 91精品国产观看免费| 激情五月婷婷综合色啪| 黄色av网站免费在线| 天天干天天操天天扣| gogo国模私拍视频| 日本少妇高清视频xxxxx| 一区二区三区激情在线| 新婚人妻聚会被中出| 日日夜夜大香蕉伊人| 中文字幕亚洲久久久| 成人av免费不卡在线观看| 欧美亚洲中文字幕一区二区三区| 91精品免费久久久久久| 精品视频国产在线观看| 美女视频福利免费看| 欧美性感尤物人妻在线免费看| 欧美成人精品欧美一级黄色| 国产精品sm调教视频| 成人av中文字幕一区| 亚洲va欧美va人人爽3p| 国产无遮挡裸体免费直播视频| 成人免费毛片aaaa| 中文字幕午夜免费福利视频| 日韩精品激情在线观看| 亚洲中文精品人人免费| 精品老妇女久久9g国产| 不卡精品视频在线观看| 国产福利在线视频一区| 在线免费观看亚洲精品电影 | 91九色国产熟女一区二区| 97精品视频在线观看| 天天操,天天干,天天射| 国产综合精品久久久久蜜臀| 国产高清女主播在线| 亚洲欧美自拍另类图片| 亚洲欧美成人综合在线观看| 中文字幕一区二区三区人妻大片| 美女福利写真在线观看视频| 日本欧美视频在线观看三区| 欧美专区第八页一区在线播放| 国产中文精品在线观看| 日本三极片视频网站观看| 秋霞午夜av福利经典影视| 男大肉棒猛烈插女免费视频| 初美沙希中文字幕在线| 国产又粗又猛又爽又黄的视频在线| 黄色三级网站免费下载| 久久久久久久久久久免费女人| 在线不卡成人黄色精品| 亚洲激情,偷拍视频| 白嫩白嫩美女极品国产在线观看| 中文字幕高清在线免费播放 | 精品国产亚洲av一淫| 少妇ww搡性bbb91| 精品av国产一区二区三区四区| 成人激情文学网人妻| 国产a级毛久久久久精品| 中文字幕奴隷色的舞台50| 2022精品久久久久久中文字幕| 日本少妇的秘密免费视频| 真实国产乱子伦一区二区| 大香蕉大香蕉在线有码 av| 社区自拍揄拍尻屁你懂的| 久久免费看少妇高潮完整版| 成人动漫大肉棒插进去视频| 偷偷玩弄新婚人妻h视频| 在线免费91激情四射| 亚洲 欧美 精品 激情 偷拍| 2020久久躁狠狠躁夜夜躁| 天天操天天干天天插| 人妻久久久精品69系列| 黄色在线观看免费观看在线| 天天干天天操天天插天天日| 丝袜肉丝一区二区三区四区在线看| 亚洲老熟妇日本老妇| 91久久国产成人免费网站| 国产精品午夜国产小视频| 3344免费偷拍视频| 亚洲男人的天堂a在线| av亚洲中文天堂字幕网| 91色秘乱一区二区三区| 日韩精品啪啪视频一道免费| 涩爱综合久久五月蜜臀| 99亚洲美女一区二区三区| 性色av一区二区三区久久久| 欧美日本在线观看一区二区| 久久久久久国产精品| 久久久精品精品视频视频| 手机看片福利盒子日韩在线播放| 亚洲av自拍偷拍综合| 欧美在线精品一区二区三区视频| 国产一区av澳门在线观看| 水蜜桃一区二区三区在线观看视频| 岛国黄色大片在线观看| 中文 成人 在线 视频| 后入美女人妻高清在线| 日本最新一二三区不卡在线| 少妇高潮无套内谢麻豆| 91久久综合男人天堂| av森泽佳奈在线观看| 在线免费91激情四射| 亚洲高清国产一区二区三区| 欧美中文字幕一区最新网址| 在线制服丝袜中文字幕| 端庄人妻堕落挣扎沉沦| 黑人借宿ntr人妻的沦陷2| 国产美女午夜福利久久| 在线亚洲天堂色播av电影| 欧美特级特黄a大片免费| 国产美女一区在线观看| 国产成人无码精品久久久电影| 五月激情婷婷久久综合网| 精品少妇一二三视频在线| 天天干夜夜操啊啊啊| 初美沙希中文字幕在线| yy6080国产在线视频| 亚洲在线一区二区欧美| 天天插天天色天天日| 日日夜夜精品一二三| 蜜桃久久久久久久人妻| 中文字幕乱码人妻电影| 在线观看国产网站资源| 国产精品国产三级国产午| 青青草原色片网站在线观看| 中文字幕日韩人妻在线三区| 大鸡巴操b视频在线| 欧美韩国日本国产亚洲| 91亚洲精品干熟女蜜桃频道| 青青尤物在线观看视频网站| 午夜美女少妇福利视频| 国产无遮挡裸体免费直播视频| 青青青爽视频在线播放| 亚洲 欧美 精品 激情 偷拍 | www久久久久久久久久久| mm131美女午夜爽爽爽| 姐姐的朋友2在线观看中文字幕| 97精品成人一区二区三区| eeuss鲁片一区二区三区| 青草青永久在线视频18| 亚洲国产免费av一区二区三区 | 亚洲av色香蕉一区二区三区| 国产变态另类在线观看| 日本真人性生活视频免费看| av破解版在线观看| aaa久久久久久久久| 亚洲成人av一区久久| 久久久久久9999久久久久| 老鸭窝在线观看一区| 黄页网视频在线免费观看| 精品成人啪啪18免费蜜臀| 国产精品久久久久久久精品视频| av天堂中文字幕最新| 日韩a级黄色小视频| 中文字幕在线免费第一页| 高潮视频在线快速观看国家快速| 91精品国产黑色丝袜| 秋霞午夜av福利经典影视| 久久久久久九九99精品| 97超碰免费在线视频| 亚洲一级av大片免费观看| 国产福利小视频大全| 91天堂天天日天天操| 100%美女蜜桃视频| 日韩欧美一级精品在线观看| 二区中出在线观看老师| 在线观看成人国产电影| 亚洲一区二区三区五区| 久久www免费人成一看片| 亚洲女人的天堂av| 另类av十亚洲av| 亚洲一区二区三区在线高清| 在线免费观看欧美小视频| 黄色成年网站午夜在线观看| 91精品国产观看免费| 99精品国产自在现线观看| 国产精品人妻熟女毛片av久| 亚洲国产最大av综合| 11久久久久久久久久久| 97超碰人人搞人人| 91九色porny蝌蚪国产成人| 天天干天天操天天扣| av在线免费中文字幕| 欧美韩国日本国产亚洲| 成年午夜免费无码区| 中文字幕在线永久免费播放| 国产精选一区在线播放| 精品少妇一二三视频在线| 亚洲成人国产综合一区| 亚洲激情,偷拍视频| 99婷婷在线观看视频| 一区二区在线视频中文字幕| 六月婷婷激情一区二区三区| 大黑人性xxxxbbbb| 中文字幕日韩人妻在线三区| 亚洲卡1卡2卡三卡四老狼| 国产一区二区在线欧美| 国产九色91在线视频| 日韩近亲视频在线观看| 精品视频一区二区三区四区五区| 午夜场射精嗯嗯啊啊视频| 91福利视频免费在线观看| 自拍偷拍亚洲另类色图| 亚洲欧美综合另类13p| 国产亚洲四十路五十路| 亚洲综合乱码一区二区| 中文字幕一区二区自拍| 久久精品亚洲国产av香蕉| 国产精品熟女久久久久浪潮| 欧美亚洲少妇福利视频| 好太好爽好想要免费| 高潮视频在线快速观看国家快速| 日韩精品中文字幕在线| 亚洲变态另类色图天堂网| 操的小逼流水的文章| 98视频精品在线观看| 欧美亚洲中文字幕一区二区三区 | 国产一区二区久久久裸臀| 激情啪啪啪啪一区二区三区| 亚洲高清视频在线不卡| 5528327男人天堂| 亚洲女人的天堂av| av大全在线播放免费| 日本高清撒尿pissing| 18禁免费av网站| 亚洲成人激情av在线| 亚洲男人让女人爽的视频| 日本黄色特一级视频| 人妻素人精油按摩中出| 午夜精品一区二区三区福利视频| 在线播放 日韩 av| 2021国产一区二区| 成人30分钟免费视频| 93视频一区二区三区| 丝袜国产专区在线观看| 欧美亚洲一二三区蜜臀| 一区二区三区欧美日韩高清播放| 性感美女诱惑福利视频| 欧美日韩亚洲国产无线码| 国产高清在线在线视频| 新97超碰在线观看| 成人午夜电影在线观看 久久| 久久www免费人成一看片| 青青草在观免费国产精品| 黄色男人的天堂视频| 97精品人妻一区二区三区精品| 老鸭窝日韩精品视频观看| 97国产福利小视频合集| 无码国产精品一区二区高潮久久4 日韩欧美一级精品在线观看 | 国产精品三级三级三级| 最后99天全集在线观看| 97少妇精品在线观看| 国产视频网站国产视频| 在线观看的黄色免费网站| 视频在线亚洲一区二区| 国产精品一区二区三区蜜臀av| 99视频精品全部15| 狠狠躁狠狠爱网站视频| 色呦呦视频在线观看视频| 韩国三级aaaaa高清视频| 1区2区3区4区视频在线观看| av乱码一区二区三区| 免费在线观看视频啪啪 | 大香蕉大香蕉在线看| 女生被男生插的视频网站| 超鹏97历史在线观看| 少妇露脸深喉口爆吞精| 91超碰青青中文字幕| 亚洲综合一区二区精品久久| 亚洲国产第一页在线观看| 亚洲中文字幕国产日韩| 亚洲综合另类欧美久久| 中文字幕成人日韩欧美| 黄色片年轻人在线观看| 午夜福利人人妻人人澡人人爽| 亚洲人人妻一区二区三区| 欧美久久久久久三级网| 黑人巨大精品欧美视频| 欧美一区二区中文字幕电影| 亚洲老熟妇日本老妇| 国产成人精品午夜福利训2021| 一区二区视频在线观看免费观看| 国产三级片久久久久久久| 免费手机黄页网址大全| 午夜在线观看一区视频| 日韩熟女av天堂系列| 亚洲综合另类精品小说| 91国内视频在线观看| 亚洲精品麻豆免费在线观看| 亚洲成人激情视频免费观看了| 中文字幕一区二 区二三区四区| 91p0rny九色露脸熟女| 99久久超碰人妻国产| 国产在线一区二区三区麻酥酥 | 五十路丰满人妻熟妇| 亚洲av在线观看尤物| 二区中出在线观看老师 | 午夜在线一区二区免费| 在线亚洲天堂色播av电影| 91色秘乱一区二区三区| 色av色婷婷人妻久久久精品高清| 成人高潮aa毛片免费| nagger可以指黑人吗| 青青草原网站在线观看| 婷婷色中文亚洲网68| 任你操视频免费在线观看| 国产欧美精品不卡在线| 欧美精品 日韩国产| 久久久久久99国产精品| 亚洲国产美女一区二区三区软件| 亚洲 国产 成人 在线| 十八禁在线观看地址免费| av网站色偷偷婷婷网男人的天堂| 精品高潮呻吟久久av| 成年人黄视频在线观看| 自拍偷拍亚洲精品第2页| 欧美男同性恋69视频| 中文字幕在线免费第一页| 亚洲国产精品久久久久久6| 国产精品日韩欧美一区二区| 欧美中国日韩久久精品| 一色桃子人妻一区二区三区| 伊人精品福利综合导航| 综合激情网激情五月五月婷婷| 久久一区二区三区人妻欧美| 99热这里只有精品中文| 福利视频网久久91| 和邻居少妇愉情中文字幕| 小穴多水久久精品免费看| 日韩激情文学在线视频| 天天干天天搞天天摸| 日本精品视频不卡一二三| 免费费一级特黄真人片 | 久久久极品久久蜜桃| 大香蕉玖玖一区2区| 香蕉aⅴ一区二区三区| 亚洲老熟妇日本老妇| 夫妻在线观看视频91| 亚洲欧美成人综合视频| 亚洲美女自偷自拍11页| 大黑人性xxxxbbbb| 99re国产在线精品| 高清成人av一区三区| 日韩国产乱码中文字幕| 午夜国产福利在线观看| 亚洲av男人天堂久久| 97人妻夜夜爽二区欧美极品| 日日日日日日日日夜夜夜夜夜夜| 青青草国内在线视频精选| 91精品一区二区三区站长推荐| 欧美精品一二三视频| 国产又粗又黄又硬又爽| 成人伊人精品色xxxx视频| 欧美亚洲中文字幕一区二区三区| 91成人精品亚洲国产| 国产剧情演绎系列丝袜高跟| 骚逼被大屌狂草视频免费看| 亚洲精品 日韩电影| 日辽宁老肥女在线观看视频| 综合一区二区三区蜜臀| 国产密臀av一区二区三| av中文字幕在线观看第三页| 老鸭窝在线观看一区| 沈阳熟妇28厘米大战黑人| 国产麻豆乱子伦午夜视频观看| 大屁股肉感人妻中文字幕在线| 91精品国产综合久久久蜜| 国产精品熟女久久久久浪潮| 亚洲av日韩精品久久久久久hd| 亚洲Av无码国产综合色区| 国产黄色高清资源在线免费观看| 国产黄网站在线观看播放| 久久农村老妇乱69系列| 亚洲卡1卡2卡三卡四老狼| 亚洲成a人片777777| 黄色男人的天堂视频| 欧美一区二区中文字幕电影| 制丝袜业一区二区三区| 天堂va蜜桃一区入口| 精品国产在线手机在线| 精品人人人妻人人玩日产欧| 成年女人免费播放视频| 国产精品自偷自拍啪啪啪| 国产熟妇乱妇熟色T区| 免费观看国产综合视频| 国产精品黄片免费在线观看| av视屏免费在线播放| 免费在线看的黄片视频| 黄色无码鸡吧操逼视频| 日日夜夜精品一二三| 天干天天天色天天日天天射 | 亚洲va天堂va国产va久| 大学生A级毛片免费视频| 夜女神免费福利视频| 99亚洲美女一区二区三区| 黄色视频在线观看高清无码 | 国产一区二区视频观看| 欧美日韩中文字幕欧美| 日本最新一二三区不卡在线 | 免费在线黄色观看网站| 少妇系列一区二区三区视频| 男人的天堂一区二区在线观看| www日韩毛片av| 亚洲精品精品国产综合| 亚洲人妻av毛片在线| 国产综合视频在线看片| 国产综合视频在线看片| 日本免费视频午夜福利视频| 熟女在线视频一区二区三区| 亚洲一区二区三区偷拍女厕91| 亚洲最大黄 嗯色 操 啊| 91免费放福利在线观看| 午夜精彩视频免费一区| 亚洲一区二区三区精品视频在线 | 日韩伦理短片在线观看| 午夜dv内射一区区| 久精品人妻一区二区三区| 精品亚洲中文字幕av| 亚洲综合在线观看免费| 国产精品中文av在线播放 | 中文亚洲欧美日韩无线码| 日韩成人综艺在线播放| 中文字幕在线欧美精品| 国产精品视频欧美一区二区| 久久久精品国产亚洲AV一| av中文字幕福利网| 久久精品36亚洲精品束缚| 激情国产小视频在线| 中文字幕熟女人妻久久久| 一区二区三区国产精选在线播放 | 国产性生活中老年人视频网站| 亚洲图片偷拍自拍区| 三级黄色亚洲成人av| 80电影天堂网官网| 天天做天天爽夜夜做少妇| 女生自摸在线观看一区二区三区| 久精品人妻一区二区三区| 日韩av大胆在线观看| 亚洲成av人无码不卡影片一| 日本人妻欲求不满中文字幕| 麻豆性色视频在线观看| 99亚洲美女一区二区三区| 精品国产乱码一区二区三区乱| 亚洲在线免费h观看网站| 午夜极品美女福利视频| 我想看操逼黄色大片| 97精品人妻一区二区三区精品| 国产精品免费不卡av| 中文字幕在线乱码一区二区 | 国产欧美精品免费观看视频| 亚洲激情偷拍一区二区| 天天做天天爽夜夜做少妇| 久精品人妻一区二区三区| 日韩加勒比东京热二区| 亚洲福利精品福利精品福利| 一二三中文乱码亚洲乱码one| 伊人综合aⅴ在线网| 国产精品国产三级国产午| 小穴多水久久精品免费看| 成人精品视频99第一页| 亚洲精品国产久久久久久| 日噜噜噜夜夜噜噜噜天天噜噜噜| 精品高潮呻吟久久av| 天天操天天爽天天干| 成人蜜臀午夜久久一区| 精品视频一区二区三区四区五区| 性欧美激情久久久久久久| 99精品视频在线观看免费播放| 91麻豆精品秘密入口在线观看| 91成人精品亚洲国产| 日韩无码国产精品强奸乱伦| 久久三久久三久久三久久| 综合色区亚洲熟妇shxstz| 蝴蝶伊人久久中文娱乐网| 亚洲嫩模一区二区三区| 成年人免费看在线视频| 色婷婷六月亚洲综合香蕉| av天堂中文字幕最新| 日本啪啪啪啪啪啪啪| 超污视频在线观看污污污| 午夜成午夜成年片在线观看 | 91亚洲手机在线视频播放| 亚洲伊人久久精品影院一美女洗澡| 9色在线视频免费观看| 亚洲老熟妇日本老妇| 成人国产影院在线观看| 国际av大片在线免费观看| huangse网站在线观看| 婷婷激情四射在线观看视频| 亚洲天堂第一页中文字幕 | 97人人妻人人澡人人爽人人精品| 成人资源在线观看免费官网| 亚洲中文字幕校园春色| 欧美中国日韩久久精品| av成人在线观看一区| 日韩美女精品视频在线观看网站| 成人激情文学网人妻| 成人av中文字幕一区| 久草视频中文字幕在线观看| 玩弄人妻熟妇性色av少妇| 黄色视频在线观看高清无码 | 鸡巴操逼一级黄色气| 久久尻中国美女视频| 天天日天天干天天舔天天射| 亚洲免费国产在线日韩| 亚洲欧洲av天堂综合| heyzo蜜桃熟女人妻| 天天日天天日天天擦| 护士小嫩嫩又紧又爽20p| 98视频精品在线观看| 懂色av之国产精品| 9色在线视频免费观看| 国产熟妇乱妇熟色T区| 少妇人妻二三区视频| 男人的网址你懂的亚洲欧洲av| 婷婷色中文亚洲网68| 夜夜操,天天操,狠狠操| 18禁精品网站久久| 亚洲一区二区久久久人妻| 日本性感美女三级视频| 天天干天天插天天谢| 国产亚洲四十路五十路| 一区二区三区四区五区性感视频 | 午夜精品福利一区二区三区p| 国产三级精品三级在线不卡| 国产又粗又黄又硬又爽| 日曰摸日日碰夜夜爽歪歪| 老师让我插进去69AV| 一色桃子人妻一区二区三区| 超黄超污网站在线观看| 国产亚洲欧美视频网站| 中国老熟女偷拍第一页| 免费在线观看视频啪啪| 一本一本久久a久久精品综合不卡| 特黄老太婆aa毛毛片| 伊人成人综合开心网| 青青伊人一精品视频| 熟女妇女老妇一二三区| 欧美香蕉人妻精品一区二区| 久久久久久99国产精品| 亚洲最大黄了色网站| 黄色成人在线中文字幕| 亚洲欧洲av天堂综合| 中文字幕之无码色多多| 国产伊人免费在线播放| 91精品国产综合久久久蜜 | 欧美精产国品一二三产品区别大吗| 久久久久久久久久性潮| 亚洲欧美综合在线探花| 成年美女黄网站18禁久久| 韩国AV无码不卡在线播放| 亚洲 色图 偷拍 欧美| 欧美精品一二三视频| 国产普通话插插视频| 国产精品自拍视频大全| 91国内视频在线观看| 天天色天天操天天舔| 亚洲欧美久久久久久久久| 自拍偷拍日韩欧美亚洲| 老司机欧美视频在线看| 自拍偷拍日韩欧美亚洲| 夜夜操,天天操,狠狠操| 青青青青青操视频在线观看| 性色蜜臀av一区二区三区| nagger可以指黑人吗| 骚货自慰被发现爆操| 91国语爽死我了不卡| 大香蕉大香蕉大香蕉大香蕉大香蕉| caoporm超碰国产| 国产成人自拍视频在线免费观看| 日本性感美女写真视频| 亚洲天天干 夜夜操| 福利在线视频网址导航| 男生用鸡操女生视频动漫| 任你操视频免费在线观看| 亚洲偷自拍高清视频| 日本三极片中文字幕| 93精品视频在线观看| 国产品国产三级国产普通话三级| 成人av免费不卡在线观看| 亚洲成人精品女人久久久| 日本a级视频老女人| 国产自拍在线观看成人| 免费看高清av的网站| av视网站在线观看| 久久久久只精品国产三级| 欧美日本aⅴ免费视频| 亚洲人妻av毛片在线| 成年人午夜黄片视频资源| 91九色porny国产蝌蚪视频| 蜜臀av久久久久久久| 啊用力插好舒服视频| 在线观看免费视频网| 国产精品久久久久网| 男人天堂av天天操| 免费观看成年人视频在线观看| 伊人情人综合成人久久网小说 | 制服丝袜在线人妻中文字幕| 极品丝袜一区二区三区| 91久久综合男人天堂| 亚洲一区二区久久久人妻| 亚洲综合自拍视频一区| 欧美精品一区二区三区xxxx| 福利午夜视频在线观看| 国产一区二区视频观看| 91国语爽死我了不卡| 日本午夜久久女同精女女| 日本真人性生活视频免费看| 在线视频国产欧美日韩| 亚洲精品无码久久久久不卡| 免费岛国喷水视频在线观看| 偷青青国产精品青青在线观看| 国产美女午夜福利久久| 成年美女黄网站18禁久久| 狠狠躁夜夜躁人人爽天天久天啪 | 日本熟女精品一区二区三区| 粗大的内捧猛烈进出爽大牛汉子| 人妻少妇一区二区三区蜜桃| 亚洲天堂av最新网址| 精品欧美一区二区vr在线观看| sspd152中文字幕在线| 国产高清97在线观看视频| av网址国产在线观看| 成人高清在线观看视频| 久久香蕉国产免费天天| 亚洲卡1卡2卡三卡四老狼| 99精品国自产在线人| 国产视频精品资源网站| 红杏久久av人妻一区| 亚洲高清一区二区三区视频在线| 亚洲国产成人最新资源| 亚洲麻豆一区二区三区| 久久久久久久久久久久久97| 免费av岛国天堂网站| 婷婷久久久综合中文字幕| 天天日天天透天天操| 国产高清精品极品美女| 亚洲国产在人线放午夜| 777奇米久久精品一区| 91中文字幕最新合集| 在线视频免费观看网| 99亚洲美女一区二区三区| 免费在线看的黄网站| 红杏久久av人妻一区| 97色视频在线观看| 99视频精品全部15| 欧美viboss性丰满| 成人蜜臀午夜久久一区| 天天干天天操天天摸天天射| 亚洲熟女女同志女同| av中文字幕电影在线看| 粉嫩av懂色av蜜臀av| 91精品综合久久久久3d动漫| 天天艹天天干天天操| 狠狠操狠狠操免费视频| 精品一区二区亚洲欧美| 欧美男人大鸡吧插女人视频| 扒开让我视频在线观看| 天天日天天日天天射天天干 | av森泽佳奈在线观看| 欧美精产国品一二三区| 日本性感美女视频网站| 57pao国产一区二区| 亚洲免费国产在线日韩| 77久久久久国产精产品| 天干天天天色天天日天天射| 91免费观看在线网站| 欧美中国日韩久久精品| 操的小逼流水的文章| 青青在线视频性感少妇和隔壁黑丝 | 国产乱子伦精品视频潮优女| 国产乱弄免费视频观看| 熟女少妇激情五十路| 1769国产精品视频免费观看| 国产内射中出在线观看| 欧美成人一二三在线网| 全国亚洲男人的天堂| 2022精品久久久久久中文字幕| 欧美女同性恋免费a| 亚洲av成人网在线观看| 国产卡一卡二卡三乱码手机| 大鸡吧插入女阴道黄色片| aⅴ精产国品一二三产品| 国产午夜男女爽爽爽爽爽视频| 91色网站免费在线观看| 免费人成黄页网站在线观看国产| 日韩精品中文字幕在线| 熟女人妻在线中出观看完整版| 最近中文2019年在线看| 国产97在线视频观看| 成人精品在线观看视频| 中文字母永久播放1区2区3区| 一区二区三区蜜臀在线| 91香蕉成人app下载| 国产日本欧美亚洲精品视| 国产妇女自拍区在线观看| 又粗又硬又猛又爽又黄的| 亚洲免费视频欧洲免费视频| 自拍偷区二区三区麻豆| 超碰在线中文字幕一区二区| 1区2区3区不卡视频| 免费看美女脱光衣服的视频| 国产精品久久久久久久精品视频| 久久精品亚洲成在人线a| av老司机精品在线观看| 激情小视频国产在线| 女生自摸在线观看一区二区三区| 国产变态另类在线观看| 天天综合天天综合天天网| 开心 色 六月 婷婷| 天天日天天爽天天爽| 区一区二区三国产中文字幕| 国产精品一区二区三区蜜臀av| 19一区二区三区在线播放| 免费岛国喷水视频在线观看| 大肉大捧一进一出好爽在线视频| 春色激情网欧美成人| 18禁免费av网站| 日韩美女综合中文字幕pp| 在线新三级黄伊人网| 一区二区三区四区中文| 国产午夜福利av导航| 在线免费观看靠比视频的网站| 亚洲欧美福利在线观看| 日韩特级黄片高清在线看| 一级黄色片夫妻性生活| 男人和女人激情视频| 国产午夜亚洲精品不卡在线观看 | 国产成人小视频在线观看无遮挡| 日本欧美视频在线观看三区| 亚洲中文字幕乱码区| 2020中文字幕在线播放| 欧美日韩国产一区二区三区三州| 五十路熟女人妻一区二区9933| 欧洲精品第一页欧洲精品亚洲| 天天操天天爽天天干| 沈阳熟妇28厘米大战黑人| 久久农村老妇乱69系列| 天天色天天爱天天爽| 蜜臀成人av在线播放| 亚洲激情唯美亚洲激情图片| 青青青青草手机在线视频免费看| 欧美精品免费aaaaaa| 亚洲成人av一区久久| 色综合久久五月色婷婷综合| okirakuhuhu在线观看| 欧美精产国品一二三区| 国产内射中出在线观看| 亚洲另类在线免费观看| 亚洲成人午夜电影在线观看 | 日韩欧美在线观看不卡一区二区| 色花堂在线av中文字幕九九| 清纯美女在线观看国产| 亚洲午夜电影在线观看| 亚洲一区二区三区av网站| 少妇人妻100系列| 日本黄色三级高清视频| 国产卡一卡二卡三乱码手机| 人人妻人人澡人人爽人人dvl| av中文字幕国产在线观看| 久久农村老妇乱69系列| 天堂av在线播放免费| 国产高清97在线观看视频| 中文字幕免费福利视频6| av乱码一区二区三区| 中国黄片视频一区91| 亚洲最大黄了色网站| 国产亚洲国产av网站在线| 日日夜夜精品一二三| 阿v天堂2014 一区亚洲| 国产麻豆剧果冻传媒app| rct470中文字幕在线| 亚洲一区二区三区精品乱码| 日韩一区二区三区三州| 久久热久久视频在线观看| 最新91精品视频在线| 亚洲成人av一区在线| 99精品视频在线观看婷婷| 亚洲精品无码久久久久不卡 | 91 亚洲视频在线观看| 国产黑丝高跟鞋视频在线播放| 成人资源在线观看免费官网| 91一区精品在线观看| 爆乳骚货内射骚货内射在线 | sw137 中文字幕 在线| 91天堂天天日天天操| 国产乱子伦精品视频潮优女| 在线免费观看99视频| 综合激情网激情五月天| 人妻少妇中文有码精品| 9久在线视频只有精品| 韩国AV无码不卡在线播放| 天天草天天色天天干| 久久精品亚洲国产av香蕉| 40道精品招牌菜特色| 9色在线视频免费观看| 中文字幕高清免费在线人妻| 2012中文字幕在线高清| 久久久精品欧洲亚洲av| 韩国女主播精品视频网站| 天码人妻一区二区三区在线看| 亚洲午夜精品小视频| 无套猛戳丰满少妇人妻| 久精品人妻一区二区三区| 欧美成人一二三在线网| 一区二区三区久久久91| 国产精品福利小视频a| 玖玖一区二区在线观看| 亚洲熟色妇av日韩熟色妇在线| 熟女人妻在线观看视频| 天天日天天干天天干天天日| 日韩激情文学在线视频| 精品美女在线观看视频在线观看 | 视频在线亚洲一区二区| 青青草成人福利电影| 高清成人av一区三区| 成人色综合中文字幕| 黄色的网站在线免费看| 午夜在线一区二区免费| 亚洲av极品精品在线观看| 伊人开心婷婷国产av| 国产日本欧美亚洲精品视| 沙月文乃人妻侵犯中文字幕在线| 人妻自拍视频中国大陆| 亚洲狠狠婷婷综合久久app| 黑人3p华裔熟女普通话| 直接观看免费黄网站| 91精品国产91久久自产久强| 日韩三级黄色片网站| av天堂加勒比在线| 精品成人啪啪18免费蜜臀| 亚洲精品无码色午夜福利理论片| 免费黄高清无码国产| 早川濑里奈av黑人番号| 操日韩美女视频在线免费看| 老熟妇凹凸淫老妇女av在线观看| 日本美女成人在线视频| 久草极品美女视频在线观看| 在线观看成人国产电影| 97色视频在线观看| 成人蜜桃美臀九一一区二区三区| 粉嫩欧美美人妻小视频| 国产精品国产三级国产精东 | 大陆胖女人与丈夫操b国语高清| 一区二区三区欧美日韩高清播放| 亚洲精品高清自拍av| 天天日天天干天天插舔舔| 精品亚洲中文字幕av| 国产精品视频男人的天堂| 亚洲综合一区二区精品久久| 色婷婷久久久久swag精品| 亚洲国产成人av在线一区| 传媒在线播放国产精品一区| 亚洲人一区二区中文字幕| AV天堂一区二区免费试看| 岛国免费大片在线观看| 男人操女人逼逼视频网站| 亚洲欧美激情中文字幕| 国产自拍在线观看成人| 国产亚洲成人免费在线观看| 久久久久久性虐视频| 日本熟妇丰满厨房55| 亚洲午夜精品小视频| 男人和女人激情视频| 国产熟妇人妻ⅹxxxx麻豆| 亚洲国产欧美国产综合在线| 偷拍自拍亚洲美腿丝袜| 超碰公开大香蕉97| 熟女俱乐部一二三区| 久久久精品精品视频视频| 中文字幕综合一区二区| 国产三级精品三级在线不卡| 日韩成人性色生活片| 亚洲一区久久免费视频| 国产黄色片在线收看| 天天躁日日躁狠狠躁av麻豆| 亚洲日本一区二区三区| 亚洲美女美妇久久字幕组| 五十路熟女人妻一区二| 2022中文字幕在线| 制服丝袜在线人妻中文字幕| 中国熟女@视频91| 亚洲精品 日韩电影| 青青青青青免费视频| 中文字幕高清资源站| 蜜桃视频17c在线一区二区| 亚洲人妻国产精品综合| 亚洲精品成人网久久久久久小说| 国产精品中文av在线播放| 日本www中文字幕| 新97超碰在线观看| 国产精品免费不卡av| 国产麻豆剧传媒精品国产av蜜桃| gav成人免费播放| 1024久久国产精品| 丝袜美腿欧美另类 中文字幕| 天天日天天干天天舔天天射| 成人色综合中文字幕| 超碰97人人澡人人| 亚洲欧美一区二区三区电影| 中国熟女@视频91| 日本男女操逼视频免费看| 天天干狠狠干天天操| 国产乱子伦一二三区| 免费黄页网站4188| 三级av中文字幕在线观看| 熟女91pooyn熟女| 亚洲美女美妇久久字幕组| 白白操白白色在线免费视频| 天天操天天污天天射| 色狠狠av线不卡香蕉一区二区| 一区二区三区激情在线| 偷拍自拍亚洲美腿丝袜| 亚洲中文字幕国产日韩| 在线国产中文字幕视频| 中文字日产幕乱六区蜜桃| 午夜精品久久久久久99热| 最新激情中文字幕视频| 中国把吊插入阴蒂的视频| 青青青aaaa免费| 亚洲蜜臀av一区二区三区九色 | 91九色porny蝌蚪国产成人| 99视频精品全部15| 亚洲高清视频在线不卡| 亚洲色偷偷综合亚洲AV伊人| 2012中文字幕在线高清| 亚洲熟女久久久36d| 日韩在线中文字幕色| 曰本无码人妻丰满熟妇啪啪| 亚洲精品乱码久久久久久密桃明| 韩国女主播精品视频网站| 中文字幕高清在线免费播放| 91国产资源在线视频| 1区2区3区不卡视频| 中文字幕在线第一页成人| 中文字幕免费在线免费| 蜜桃色婷婷久久久福利在线| www,久久久,com| 国产在线观看黄色视频| 唐人色亚洲av嫩草| 中文字幕高清在线免费播放| av中文字幕国产在线观看| 国产精品国产三级国产精东| 欧美第一页在线免费观看视频| 激情小视频国产在线| 久久香蕉国产免费天天| 一区二区三区蜜臀在线| 蝴蝶伊人久久中文娱乐网| 99精品久久久久久久91蜜桃| 午夜av一区二区三区| 亚洲成人午夜电影在线观看| 欧美日韩高清午夜蜜桃大香蕉| 91麻豆精品久久久久| 精品久久久久久久久久久久人妻| 亚洲成人黄色一区二区三区| av大全在线播放免费| 久久久久久久一区二区三| 老司机福利精品免费视频一区二区| 国产之丝袜脚在线一区二区三区 | 免费费一级特黄真人片| 天堂中文字幕翔田av| 亚洲av无乱一区二区三区性色| 馒头大胆亚洲一区二区| 动漫黑丝美女的鸡巴| 久青青草视频手机在线免费观看| 无码国产精品一区二区高潮久久4| 日日日日日日日日夜夜夜夜夜夜| 精品老妇女久久9g国产| 国产免费高清视频视频| 99热久久极品热亚洲| 真实国模和老外性视频| 久久丁香花五月天色婷婷| 快插进小逼里大鸡吧视频| 超级av免费观看一区二区三区| 亚洲一区自拍高清免费视频| 国产高清在线观看1区2区| 亚洲精品中文字幕下载| 亚洲区欧美区另类最新章节| 国产精品人妻熟女毛片av久| 欧美久久久久久三级网| 亚洲精品午夜久久久久| 黄色视频成年人免费观看| 成人亚洲国产综合精品| heyzo蜜桃熟女人妻| 福利午夜视频在线观看| 不卡精品视频在线观看| 成人午夜电影在线观看 久久| 99精品久久久久久久91蜜桃| 成人H精品动漫在线无码播放| 婷婷五月亚洲综合在线| 亚洲午夜伦理视频在线| 午夜激情久久不卡一区二区| 97成人免费在线观看网站| 91免费观看在线网站| 一级A一级a爰片免费免会员| 国产九色91在线视频| 国产97在线视频观看| 成人福利视频免费在线| 国产精品一二三不卡带免费视频| 99久久久无码国产精品性出奶水| 亚洲的电影一区二区三区| 亚洲av色图18p| 5528327男人天堂| 75国产综合在线视频| 国产精品自拍在线视频| 日本少妇高清视频xxxxx| 熟女在线视频一区二区三区| 色呦呦视频在线观看视频| 熟妇一区二区三区高清版| 91精品一区二区三区站长推荐| 亚洲综合另类欧美久久| 日本丰满熟妇大屁股久久| 精品亚洲国产中文自在线| 精品人人人妻人人玩日产欧| 三上悠亚和黑人665番号| 免费观看国产综合视频| 国产黄色片蝌蚪九色91| 国产美女一区在线观看| 欧美日韩v中文在线| gav成人免费播放| 在线观看av亚洲情色| 视频一区 二区 三区 综合| 久久久久91精品推荐99| 超污视频在线观看污污污| 午夜美女少妇福利视频| 99久久激情婷婷综合五月天| 国产精品视频欧美一区二区| 久草视频首页在线观看| 亚洲无码一区在线影院| 揄拍成人国产精品免费看视频| 成人av天堂丝袜在线观看| 久久精品国产23696| 天天日天天玩天天摸| 日本少妇人妻xxxxxhd| 亚洲一区二区三区精品视频在线| 天堂va蜜桃一区入口| 黄片三级三级三级在线观看| 成人18禁网站在线播放| 人妻丝袜诱惑我操她视频| 国产日韩精品一二三区久久久| 欧美3p在线观看一区二区三区| 青青社区2国产视频| 亚洲欧美一区二区三区电影| 亚洲综合乱码一区二区| 大骚逼91抽插出水视频| 99久久超碰人妻国产| 在线免费观看av日韩| 国产亚洲视频在线观看| 久久久久久久一区二区三| 亚洲精品国产在线电影| 大香蕉大香蕉大香蕉大香蕉大香蕉| 亚洲精品成人网久久久久久小说| 人妻av无码专区久久绿巨人| 75国产综合在线视频| 午夜福利人人妻人人澡人人爽| 久久久久久久精品老熟妇| 2019av在线视频| 久久久久只精品国产三级| 男生舔女生逼逼视频| 亚洲午夜精品小视频| 久久丁香婷婷六月天| 最近中文2019年在线看| 天码人妻一区二区三区在线看| 天美传媒mv视频在线观看| gay gay男男瑟瑟在线网站| 黄色黄色黄片78在线| 97资源人妻免费在线视频| 蜜桃视频17c在线一区二区| 中文字幕人妻被公上司喝醉在线| 香港一级特黄大片在线播放| 岛国青草视频在线观看| 日本一本午夜在线播放| 超碰中文字幕免费观看| 激情图片日韩欧美人妻| 国产激情av网站在线观看| 免费啪啪啪在线观看视频| 中文字幕综合一区二区| 天天摸天天干天天操科普| 夜夜嗨av蜜臀av| 女同久久精品秋霞网| 青青青青在线视频免费观看| 久草视频在线看免费| AV无码一区二区三区不卡| 一二三区在线观看视频| 成人30分钟免费视频| 精品黑人巨大在线一区| 天天日天天干天天爱| 久久久久久久久久一区二区三区| 91自产国产精品视频| 国产 在线 免费 精品| 黄片色呦呦视频免费看| 日韩二区视频一线天婷婷五| 性色蜜臀av一区二区三区|