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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

死磕java concurrent包系列(六)基于AQS解析信号量Semaphore

發(fā)布時間:2023/12/15 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 死磕java concurrent包系列(六)基于AQS解析信号量Semaphore 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Semaphore

之前分析AQS的時候,內(nèi)部有兩種模式,獨占模式和共享模式,前面的ReentrantLock都是使用獨占模式,而Semaphore同樣作為一個基于AQS實現(xiàn)的并發(fā)組件,它是基于共享模式實現(xiàn)的,我們先看看它的使用場景

Semaphore共享鎖的基本使用

假設(shè)有20個人去銀行柜面辦理業(yè)務(wù),銀行只有3個柜面,同時只能辦理三個人,如果基于這種有限的、我們需要控制資源的情況,使用Semaphore比較方便:

public class SemaphoreTest {//排隊總?cè)藬?shù)private static final int COUNT =20;//只有三個柜臺private static final Semaphore AVALIABLECOUNT = new Semaphore(3);public static void main(String[] args) {//創(chuàng)建一個線程池BlockingQueue<Runnable> workQueue = new LinkedBlockingQueue<>(COUNT);BasicThreadFactory.Builder builder = new BasicThreadFactory.Builder().namingPattern("線程池");ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(COUNT, COUNT, 30L, TimeUnit.SECONDS, workQueue,builder.build());for (int i = 0; i < COUNT; i++) {final int count = i;//排隊的人都需要被服務(wù),所以所有的人直接提交線程池處理threadPoolExecutor.execute(() -> {try {//使用acquire獲取共享鎖AVALIABLECOUNT.acquire();System.out.println(Thread.currentThread().getName());System.out.println("服務(wù)號"+count+"正在服務(wù)");Thread.sleep(1000);}catch (Exception e){System.out.println(e.getMessage());}finally {//獲取完了之后釋放資源AVALIABLECOUNT.release();}});}threadPoolExecutor.shutdown();} } 復(fù)制代碼

輸出如下:我們執(zhí)行代碼,可以發(fā)現(xiàn)每隔1秒幾乎同一時間出現(xiàn)3條線程訪,如下圖

Semaphore內(nèi)部原理解析

Semaphore的內(nèi)部結(jié)構(gòu)

在深入分析Semaphore的內(nèi)部原理前先看看一張類圖結(jié)構(gòu)

這個結(jié)構(gòu)和ReentrantLock基本上完全一致,Semaphore內(nèi)部同樣存在繼承自AQS的內(nèi)部類Sync以及繼承自Sync的公平鎖(FairSync)和非公平鎖(NofairSync),從這點也足以說明Semaphore的內(nèi)部實現(xiàn)原理也是基于AQS并發(fā)組件的。 在之前的文章中,我們提到過,AQS是基礎(chǔ)組件,只負(fù)責(zé)核心并發(fā)操作,如加入或維護(hù)同步隊列,控制同步狀態(tài)等,而具體的加鎖和解鎖操作交由子類完成,因此子類Semaphore共享鎖的獲取與釋放需要自己實現(xiàn),這兩個方法分別是獲取鎖的tryAcquireShared(int arg)方法和釋放鎖的tryReleaseShared(int arg)方法,這點從Semaphore的內(nèi)部結(jié)構(gòu)完全可以看出來。 我們在調(diào)用Semaphore的方法時,其內(nèi)部則是通過間接調(diào)用其內(nèi)部類或AQS執(zhí)行的。下面我們就從Semaphore的源碼入手分析共享鎖實現(xiàn)原理,這里先從非公平鎖入手。

非公平鎖的共享鎖

同樣的,我們先看看構(gòu)造方法:

public Semaphore(int permits) {sync = new NonfairSync(permits);}/*** Creates a {@code Semaphore} with the given number of* permits and the given fairness setting.** @param permits the initial number of permits available.* This value may be negative, in which case releases* must occur before any acquires will be granted.* @param fair {@code true} if this semaphore will guarantee* first-in first-out granting of permits under contention,* else {@code false}*/public Semaphore(int permits, boolean fair) {sync = fair ? new FairSync(permits) : new NonfairSync(permits);} 復(fù)制代碼

我們通過默認(rèn)構(gòu)造函數(shù)創(chuàng)建時,誕生的就是非公平鎖,接下來我們看一下構(gòu)造方法的入?yún)ermits的傳遞:

static final class NonfairSync extends Sync {NonfairSync(int permits) {super(permits);}//調(diào)用父類Sync的nonfairTryAcquireSharedprotected int tryAcquireShared(int acquires) {return nonfairTryAcquireShared(acquires);} }復(fù)制代碼

在Sync中:

abstract static class Sync extends AbstractQueuedSynchronizer {private static final long serialVersionUID = 1192457210091910933L;//直接將該值設(shè)置為AQS中的state的值Sync(int permits) {setState(permits);} 復(fù)制代碼

所以Semaphore的入?yún)ermit直接傳入設(shè)置到AQS中的state中。 接下來我們看看acquire()方法,我們先通俗的解釋一下它的執(zhí)行過程: 當(dāng)一個線程請求到來時,state值代表的許可數(shù),那么請求線程將會獲得同步狀態(tài)即對共享資源的訪問權(quán),并更新state的值(一般是對state值減1),但如果請求線程過多,state值代表的許可數(shù)已減為0,則請求線程將無法獲取同步狀態(tài),線程將被加入到同步隊列并阻塞,直到其他線程釋放同步狀態(tài)(一般是對state值加1)才可能獲取對共享資源的訪問權(quán)。 調(diào)用Semaphore的acquire()方法后將會調(diào)用到AQS的acquireSharedInterruptibly():

//Semaphore的acquire()public void acquire() throws InterruptedException {sync.acquireSharedInterruptibly(1);}public final void acquireSharedInterruptibly(int arg)throws InterruptedException {//判斷是否被中斷if (Thread.interrupted())throw new InterruptedException();//如果tryAcquireShared(arg)不小于0,則說明當(dāng)前還有permit可被使用if (tryAcquireShared(arg) < 0)//如果許可被用完了,沒有剩余許可 則加入同步隊列等待doAcquireSharedInterruptibly(arg);} 復(fù)制代碼

在acquireSharedInterruptibly()方法內(nèi)部先進(jìn)行了線程中斷的判斷,那么先嘗試調(diào)用tryAcquireShared(arg)方法獲取同步狀態(tài),如果此時許可獲取成功,那么方法執(zhí)行結(jié)束,如果獲取失敗,則說明沒有剩余許可了,那么調(diào)用doAcquireSharedInterruptibly(arg);方法加入同步隊列等待。 這里的tryAcquireShared(arg)是個模板方法設(shè)計模式,AQS內(nèi)部沒有提供具體實現(xiàn),由子類實現(xiàn),也就是有Semaphore內(nèi)部自己實現(xiàn),該方法在Semaphore內(nèi)部非公平鎖的實現(xiàn)如下

final int nonfairTryAcquireShared(int acquires) {for (;;) {int available = getState();int remaining = available - acquires;//remaining < 0說明許可已經(jīng)供不應(yīng)求了,這個時候進(jìn)來的線程需要被阻塞//否則CAS操作更新avaliable的值,它表示剩余的許可數(shù)if (remaining < 0 ||compareAndSetState(available, remaining))return remaining;}} 復(fù)制代碼

nonfairTryAcquireShared(int acquires)方法內(nèi)部,先獲取state的值,并執(zhí)行減法操作,得到remaining值,它可以理解為剩余的許可數(shù),如果remaining<0,說明請求的許可數(shù)過大,此時直接返回一個負(fù)數(shù)的remaining;如果remaining大于0,說明還有剩余的許可數(shù),則可以訪問共享資源,后續(xù)將被加入同步隊列(通過doAcquireSharedInterruptibly(arg))。 注意Semaphore的acquire()可能存在并發(fā)操作,因此nonfairTryAcquireShared()方法體內(nèi)部采用死循環(huán)+無鎖(CAS)并發(fā)的操作保證對state值修改的安全性。 例如:假設(shè)permit值為5,有多個線程并發(fā)accquire獲取許可,線程1運(yùn)行時得到的remainin是5-1=4,線程2運(yùn)行時,得到的remaining同樣是5-1=4,但是執(zhí)行compareAndSetState時,線程2 更快一點,執(zhí)行CAS操作:判斷state現(xiàn)在是否為5,如果為5,則CAS更新為4. 這個時候線程1也執(zhí)行CAS操作,判斷state現(xiàn)在是否為5,發(fā)現(xiàn)不為5,所以CAS失敗,這時候需要這個死循環(huán)去重試。

如果remaining大于0,說明還有剩余的許可數(shù),則可以訪問共享資源,后續(xù)將被加入同步隊列,接下來看入隊的操作,這一部分與ReentrantLock差不多:

private void doAcquireSharedInterruptibly(int arg)throws InterruptedException {//使用SHARED類型創(chuàng)建共享模式的Nodefinal Node node = addWaiter(Node.SHARED);boolean failed = true;try {for (;;) {//獲取前序節(jié)點final Node p = node.predecessor();//如果前序節(jié)點是頭節(jié)點,說明自己的Node在隊列最前端,此時可能共享資源隨時被釋放//所以需要再次嘗試獲取共享資源if (p == head) {int r = tryAcquireShared(arg);//如果獲取共享資源成功if (r >= 0) {//已經(jīng)獲取資源后,node已經(jīng)沒有意義,所以清理head節(jié)點并傳播setHeadAndPropagate(node, r);p.next = null; // help GCfailed = false;return;}}//如果不是頭節(jié)點if (shouldParkAfterFailedAcquire(p, node) &&parkAndCheckInterrupt())throw new InterruptedException();}} finally {if (failed)cancelAcquire(node);}} 復(fù)制代碼

在方法中,由于當(dāng)前線程沒有獲取同步狀態(tài),因此創(chuàng)建一個共享模式類型(Node.SHARED)的結(jié)點并通過addWaiter(Node.SHARED)加入同步隊列,加入完成后,當(dāng)前線程進(jìn)入自旋狀態(tài),首先判斷前驅(qū)結(jié)點是否為head,如果是,那么嘗試獲取同步狀態(tài)并返回r值,如果r大于0,則說明獲取同步狀態(tài)成功,將當(dāng)前線程設(shè)置為head并傳播,傳播指的是,通知后續(xù)結(jié)點繼續(xù)獲取同步狀態(tài),到此return結(jié)束,獲取到同步狀態(tài)的線程將會執(zhí)行原定的任務(wù)。

private void setHeadAndPropagate(Node node, int propagate) {Node h = head; setHead(node);//設(shè)置為頭結(jié)點/* * 嘗試去喚醒隊列中的下一個節(jié)點,如果滿足如下條件: * 還有剩余許可(propagate > 0), * 或者h(yuǎn).waitStatus為PROPAGATE(被上一個操作設(shè)置) * 并且 * 下一個節(jié)點處于共享模式或者為null。 * * 這兩項檢查中的保守主義可能會導(dǎo)致不必要的喚醒,但只有在有* 有在多個線程爭取獲得/釋放同步狀態(tài)時才會發(fā)生,所以大多* 數(shù)情況下會立馬獲得需要的信號*/ if (propagate > 0 || h == null || h.waitStatus < 0 ||(h = head) == null || h.waitStatus < 0) {Node s = node.next;if (s == null || s.isShared())//喚醒后繼節(jié)點,因為是共享模式,所以允許多個線程同時獲取同步狀態(tài)doReleaseShared();}}復(fù)制代碼

但如果前驅(qū)結(jié)點不為head或前驅(qū)結(jié)點為head并嘗試獲取同步狀態(tài)失敗(與),那么調(diào)用shouldParkAfterFailedAcquire(p, node)方法判斷前驅(qū)結(jié)點的waitStatus值是否為SIGNAL并調(diào)整同步隊列中的node結(jié)點狀態(tài),如果返回true,那么執(zhí)行parkAndCheckInterrupt()方法,將當(dāng)前線程掛起。 shouldParkAfterFailedAcquire方法與ReentrantLock中的如出一轍:

private static boolean shouldParkAfterFailedAcquire(Node pred, Node node) {//獲取當(dāng)前結(jié)點的等待狀態(tài)int ws = pred.waitStatus;//如果為等待喚醒(SIGNAL)狀態(tài)則返回trueif (ws == Node.SIGNAL)return true;//如果ws>0 則說明是結(jié)束狀態(tài),//遍歷前驅(qū)結(jié)點直到找到?jīng)]有結(jié)束狀態(tài)的結(jié)點if (ws > 0) {do {node.prev = pred = pred.prev;} while (pred.waitStatus > 0);pred.next = node;} else {//如果ws小于0又不是SIGNAL狀態(tài),說明是node是首次加入的線程//則將其前驅(qū)節(jié)點設(shè)置為SIGNAL狀態(tài)。下次執(zhí)行shouldParkAfterFailedAcquire方法時就//滿足ws == Node.SIGNAL條件了compareAndSetWaitStatus(pred, ws, Node.SIGNAL);}return false;}復(fù)制代碼

這個方法是AQS中的,如果不懂的話,可以參考之前在ReentrantLock中也分析過:juejin.im/post/5c021b… 中自旋的部分。 到此,加入同步隊列的整個過程完成。

總結(jié)

在AQS中存在一個volatile變量state,當(dāng)我們創(chuàng)建Semaphore對象傳入許可數(shù)值時,最終會賦值給state,state的數(shù)值代表可同時操作共享數(shù)據(jù)的線程數(shù)量,每當(dāng)一個線程請求(如調(diào)用Semaphored的acquire()方法)獲取同步狀態(tài)成功,state的值將會減少1,直到state為0時,表示已沒有可用的許可數(shù),也就是對共享數(shù)據(jù)進(jìn)行操作的線程數(shù)已達(dá)到最大值,其他后來線程將被阻塞,此時AQS內(nèi)部會將線程封裝成共享模式的Node結(jié)點,加入同步隊列中等待并開啟自旋操作。只有當(dāng)持有對共享數(shù)據(jù)訪問權(quán)限的線程執(zhí)行完成任務(wù)并釋放同步狀態(tài)后,同步隊列中的對于的結(jié)點線程才有可能獲取同步狀態(tài)并被喚醒執(zhí)行同步操作,注意在同步隊列中獲取到同步狀態(tài)的結(jié)點將被設(shè)置成head并清空相關(guān)線程數(shù)據(jù)(畢竟線程已在執(zhí)行也就沒有必要保存信息了),AQS通過這種方式便實現(xiàn)共享鎖,用圖表示如下:

##非公平鎖的釋放鎖 接下來看一下釋放鎖:

public void release() {sync.releaseShared(1); }//調(diào)用到AQS中的releaseShared(int arg) public final boolean releaseShared(int arg) {//調(diào)用子類Semaphore實現(xiàn)的tryReleaseShared方法嘗試釋放同步狀態(tài)if (tryReleaseShared(arg)) {doReleaseShared();return true;}return false;} 復(fù)制代碼

顯然Semaphore間接調(diào)用了AQS中的releaseShared(int arg)方法,通過tryReleaseShared(arg)方法嘗試釋放同步狀態(tài),如果釋放成功,那么將調(diào)用doReleaseShared()喚醒同步隊列中后繼結(jié)點的線程,tryReleaseShared(int releases)方法如下:

//在Semaphore的內(nèi)部類Sync中實現(xiàn)的 protected final boolean tryReleaseShared(int releases) {for (;;) {//獲取當(dāng)前stateint current = getState();//釋放狀態(tài)state增加releasesint next = current + releases;if (next < current) // overflowthrow new Error("Maximum permit count exceeded");//通過CAS更新state的值if (compareAndSetState(current, next))return true;}} 復(fù)制代碼

邏輯很簡單,釋放同步狀態(tài),更新state的值,同樣的,通過for死循環(huán)和CAS操作來保證線程安全問題,因為可能存在多個線程同時釋放同步狀態(tài)的場景。釋放成功后通過doReleaseShared()方法喚醒后繼結(jié)點。

private void doReleaseShared() {/* * 如果頭節(jié)點的后繼節(jié)點需要喚醒,那么執(zhí)行喚醒 * 動作;如果不需要,將頭結(jié)點的等待狀態(tài)設(shè)置為PROPAGATE保證 * 喚醒傳遞。另外,為了防止過程中有新節(jié)點進(jìn)入(隊列),這里必 * 需做循環(huán),所以,和其他unparkSuccessor方法使用方式不一樣 * 的是,如果(頭結(jié)點)等待狀態(tài)設(shè)置失敗,重新檢測。 */ for (;;) {Node h = head;if (h != null && h != tail) {// 獲取頭節(jié)點對應(yīng)的線程的狀態(tài)int ws = h.waitStatus;// 如果頭節(jié)點對應(yīng)的線程是SIGNAL狀態(tài),則意味著頭//結(jié)點的后繼結(jié)點所對應(yīng)的線程需要被unpark喚醒。if (ws == Node.SIGNAL) {// 修改頭結(jié)點對應(yīng)的線程狀態(tài)設(shè)置為0。失敗的話,則繼續(xù)循環(huán)。if (!compareAndSetWaitStatus(h, Node.SIGNAL, 0))continue;// 喚醒頭結(jié)點h的后繼結(jié)點所對應(yīng)的線程unparkSuccessor(h);}else if (ws == 0 &&!compareAndSetWaitStatus(h, 0, Node.PROPAGATE))continue; // loop on failed CAS}// 如果頭結(jié)點發(fā)生變化,則繼續(xù)循環(huán)。否則,退出循環(huán)。if (h == head) // loop if head changedbreak;} }//喚醒傳入結(jié)點的后繼結(jié)點對應(yīng)的線程 private void unparkSuccessor(Node node) {int ws = node.waitStatus;if (ws < 0)compareAndSetWaitStatus(node, ws, 0);//拿到后繼結(jié)點Node s = node.next;if (s == null || s.waitStatus > 0) {s = null;for (Node t = tail; t != null && t != node; t = t.prev)if (t.waitStatus <= 0)s = t;}if (s != null)//喚醒該線程LockSupport.unpark(s.thread);}復(fù)制代碼

顯然doReleaseShared()方法中通過調(diào)用unparkSuccessor(h)方法喚醒head的后繼結(jié)點對應(yīng)的線程。這個方法在之前獲取資源時也會被調(diào)用:

if (propagate > 0 || h == null || h.waitStatus < 0 ||(h = head) == null || h.waitStatus < 0) {Node s = node.next;if (s == null || s.isShared())doReleaseShared();}復(fù)制代碼

兩種情況下都是為喚醒后繼節(jié)點,因為是共享模式,所以允許多個線程同時獲取同步狀態(tài)。釋放操作的過程還是相對簡單些的,即嘗試更新state值,更新成功調(diào)用doReleaseShared()方法喚醒后繼結(jié)點對應(yīng)的線程。

公平鎖的共享鎖

公平鎖的中的共享模式實現(xiàn)除了在獲取同步狀態(tài)時與非公平鎖不同外,其他基本一樣:

static final class FairSync extends Sync {FairSync(int permits) {super(permits);}protected int tryAcquireShared(int acquires) {for (;;) {//這里是重點,先判斷隊列中是否有結(jié)點再執(zhí)行//同步狀態(tài)獲取。if (hasQueuedPredecessors())return -1;int available = getState();int remaining = available - acquires;if (remaining < 0 ||compareAndSetState(available, remaining))return remaining;}}}相比之下,對于非公平鎖:final int nonfairTryAcquireShared(int acquires) {//使用死循環(huán)for (;;) {//每當(dāng)有線程獲取共享資源時,就直接嘗試CAS操作int available = getState();int remaining = available - acquires;//判斷信號量是否已小于0或者CAS執(zhí)行是否成功if (remaining < 0 ||compareAndSetState(available, remaining))return remaining;}}復(fù)制代碼

從代碼中可以看出,與非公平鎖tryAcquireShared(int acquires)方法實現(xiàn)的唯一不同是,在嘗試獲取同步狀態(tài)前,先調(diào)用了hasQueuedPredecessors()方法判斷同步隊列中是否存在結(jié)點,如果存在則返回-1,即將線程加入同步隊列等待,后續(xù)通過Node結(jié)構(gòu)保證喚醒的順序。從而保證先到來的線程請求一定會先執(zhí)行,也就是所謂的公平鎖。其他操作,與前面分析的非公平鎖一樣。

總結(jié)

AQS作為核心并發(fā)組件,它通過state值來控制對共享資源訪問的線程數(shù),內(nèi)部的Node有獨占模式(EXCLUSIVE)和共享模式(SHARED):

  • 對于ReenTrantLock:state默認(rèn)為0,每次加鎖后state更新為1,更新為1之后如果還有線程嘗試獲取鎖,則加入同步隊列等待;每當(dāng)線程釋放鎖時,再更新為0并喚醒隊列中的線程
  • 對于Semaphore:State默認(rèn)為許可數(shù),每當(dāng)線程請求同步狀態(tài)成功,state值將會減1,如果超過限制數(shù)量的線程將被封裝共享模式的Node結(jié)點加入同步隊列封裝成獨占模式(EXCLUSIVE)等待,直到其他執(zhí)行線程釋放同步狀態(tài),才有機(jī)會獲得執(zhí)行權(quán),而每個線程執(zhí)行完成任務(wù)釋放同步狀態(tài)后,state值將會增加1,這就是共享鎖的基本實現(xiàn)模型。

AQS是采用模板方法的設(shè)計模式構(gòu)建的,它作為基礎(chǔ)組件,封裝的是核心并發(fā)操作,但是實現(xiàn)上分為兩種模式,即共享模式(如Semaphore)與獨占模式(如ReetrantLock,這兩個模式的本質(zhì)區(qū)別在于多個線程能不能共享一把鎖),而這兩種模式的加鎖與解鎖實現(xiàn)方式是不一樣的,但AQS只關(guān)注內(nèi)部公共方法實現(xiàn)并不關(guān)心外部不同模式的實現(xiàn),所以提供了模板方法給子類使用:也就是說實現(xiàn)獨占鎖,如ReentrantLock需要自己實現(xiàn)tryAcquire()方法和tryRelease()方法,而實現(xiàn)共享模式的Semaphore,則需要實現(xiàn)tryAcquireShared()方法和tryReleaseShared()方法,這樣做的好處是顯而易見的,無論是共享模式還是獨占模式,其基礎(chǔ)的實現(xiàn)都是同一套組件(AQS),只不過是加鎖解鎖的邏輯不同罷了,更重要的是如果我們需要自定義鎖的話,也變得非常簡單,只需要選擇不同的模式實現(xiàn)不同的加鎖和解鎖的模板方法即可。 不管是ReentrantLock還是Semaphore,公平鎖與非公平鎖的不同之處在于公平鎖會在線程請求同步狀態(tài)前,判斷同步隊列是否存在Node,如果存在就將請求線程封裝成Node結(jié)點加入同步隊列,從而保證每個線程獲取同步狀態(tài)都是先到先得的順序執(zhí)行的。非公平鎖則是通過競爭的方式獲取,不管同步隊列是否存在Node結(jié)點,只有通過競爭獲取就可以獲取線程執(zhí)行權(quán)。

總結(jié)

以上是生活随笔為你收集整理的死磕java concurrent包系列(六)基于AQS解析信号量Semaphore的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

亚洲日本激情 | 六月婷婷久香在线视频 | 日韩另类在线 | 一区二区三区在线观看免费 | 国产成人一区二区三区免费看 | 成人欧美日韩国产 | 黄色美女免费网站 | 热99在线视频 | 在线观看视频黄 | 国产成人久久精品77777综合 | 黄色大片国产 | 福利久久久 | 久久久影院 | 国产黄在线免费观看 | 日本免费久久高清视频 | 国产精品久久久久999 | 久久不卡电影 | 国产精品久久久久久久久久久久久久 | 麻豆影视在线免费观看 | 四虎在线观看精品视频 | 国产日韩精品久久 | 99精品久久只有精品 | 欧美日韩国产一区二 | 国产精品不卡在线播放 | 国产免费高清 | 日韩成人黄色av | 一二三四精品 | 91av在线免费观看 | 亚洲美女视频在线观看 | 美女网站久久 | 精品999 | 国产区精品在线 | 亚洲欧美日韩一二三区 | 麻豆视频在线 | 97视频免费播放 | 欧美精品久久久久 | 丁香婷婷久久 | 96超碰在线 | 欧美在线视频日韩 | 中文字幕最新精品 | 男女男视频 | 亚洲黄色在线播放 | 特级毛片爽www免费版 | 91视频大全| 热久久这里只有精品 | 去看片 | 激情五月五月婷婷 | 日本特黄一级片 | 精品中文字幕在线播放 | 国产精品一区二区免费视频 | 国产精品99久久久 | 黄色软件在线观看免费 | 91.精品高清在线观看 | 日日干天天 | 丁香五月亚洲综合在线 | 亚洲激情一区二区三区 | 99精品热视频 | 日本不卡视频 | 麻豆果冻剧传媒在线播放 | 久久免费精彩视频 | 日本高清免费中文字幕 | 色网站在线看 | 在线看片一区 | 亚洲精品中文字幕视频 | 国产亚洲字幕 | av电影中文字幕在线观看 | 日韩成人免费在线观看 | 一区二区三区电影大全 | 视频一区亚洲 | 亚洲日日射 | 日本精品va在线观看 | 五月天堂色 | 国产婷婷久久 | 国产香蕉视频 | 国产精品美女久久久久久网站 | 日韩在线视频免费播放 | 国产黄色在线观看 | 亚洲精品日韩一区二区电影 | 9色在线视频 | 综合久久久 | 又粗又长又大又爽又黄少妇毛片 | 日本精品一 | 国产成人精品久久久久蜜臀 | 欧美激情视频一区二区三区免费 | 青草视频免费观看 | 欧美激情第八页 | 亚洲精品一区二区网址 | 国产香蕉在线 | 黄色小说在线观看视频 | 天天操狠狠操夜夜操 | 免费av大片 | 亚洲国产中文字幕在线观看 | 成 人 黄 色 视频播放1 | 日韩免费电影一区二区 | 深夜国产福利 | 久久久首页 | 久久国产精品免费 | 国产精品免费久久久久久 | 中文字幕在线观看免费高清完整版 | 天天射天天做 | 极品国产91在线网站 | 国产一区二区在线免费播放 | 久久精品欧美日韩精品 | 91在线看网站 | 色综合人人 | 99精品视频中文字幕 | 日韩视频在线观看免费 | 精品国产综合区久久久久久 | 探花视频在线观看免费 | 亚洲视频1| bbbbb女女女女女bbbbb国产 | 福利一区二区 | 亚av在线 | 中文在线亚洲 | 婷婷国产在线观看 | 国产xxxxx在线观看 | 久久成人毛片 | 欧美午夜a | 亚洲综合精品视频 | 中文字幕乱偷在线 | 久久精品久久精品 | 在线播放国产精品 | 日本黄色片一区二区 | 久久久精品国产免费观看一区二区 | 在线午夜av | 四虎永久国产精品 | www.亚洲精品 | 手机av在线网站 | 五月婷婷香蕉 | 欧美肥妇free | 日韩精品免费专区 | 国产涩涩网站 | 国产精品免费麻豆入口 | 成人免费一级片 | 国产不卡在线看 | 在线免费观看视频你懂的 | 成人中文字幕+乱码+中文字幕 | 中文字幕一区二区三 | 8x8x在线观看视频 | 国产精品一区二区三区免费看 | 欧美视频一区二 | 狠狠操操| 亚洲三级国产 | 四虎影视久久久 | 波多野结衣在线视频一区 | 天天插综合网 | 久久免费国产精品1 | 在线 国产 亚洲 欧美 | 最新久久久 | 天天摸天天操天天舔 | 91麻豆精品国产91久久久久久久久 | av一级片在线观看 | 狠狠操电影网 | 视频一区在线免费观看 | 国产丝袜一区二区三区 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 一本之道乱码区 | 一色屋精品视频在线观看 | 婷婷激情在线 | 69av视频在线观看 | 黄色软件在线看 | 亚洲女同ⅹxx女同tv | 一区精品在线 | 中国精品少妇 | 天躁狠狠躁 | 81精品国产乱码久久久久久 | 最新中文字幕在线观看视频 | 91九色精品国产 | 国产九九九九九 | 色综合久久综合中文综合网 | .精品久久久麻豆国产精品 亚洲va欧美 | 国产视频在线免费观看 | 天天玩天天干 | 成年人免费av网站 | 久久1电影院 | 又黄又刺激视频 | 午夜精品在线看 | 久久人人爽人人片av | 日韩欧美高清一区二区三区 | 国产丝袜一区二区三区 | 国产精品一区二区精品视频免费看 | 亚洲精品男人天堂 | av在线在线 | 999久久国产精品免费观看网站 | 久久社区视频 | 欧美日本高清视频 | 成人免费av电影 | 亚洲a网 | av短片在线 | 国产精品久久嫩一区二区免费 | 日韩免费在线观看 | 成年人免费看片网站 | 成人av在线直播 | 日日干夜夜干 | 亚洲高清视频在线播放 | 国产中文字幕在线观看 | 中文字幕在线观看免费高清电影 | 亚洲人久久久 | 亚洲精品视频免费看 | 亚洲电影第一页av | 日韩在线视频看看 | 国产精品一区二区吃奶在线观看 | 成人黄色小视频 | 国产一级免费观看 | 亚洲三级黄色 | 欧美久久久久 | www色| 日本爽妇网 | 欧美了一区在线观看 | a黄色一级片| 91在线免费播放 | 国产精品网站 | 成人a级免费视频 | 狠狠地操| 免费在线观看污网站 | 在线观看国产日韩欧美 | av福利电影 | 免费在线观看中文字幕 | 国产成人精品一区二区三区网站观看 | 91麻豆视频 | 丁香六月五月婷婷 | 香蕉精品视频在线观看 | 成人三级网址 | 99福利片 | 人人插人人插 | 在线观看黄色 | va视频在线观看 | 91看片麻豆 | 黄色免费网站大全 | 亚洲黄色一级电影 | 亚洲精品婷婷 | 久久a国产| www.福利视频 | 免费看污在线观看 | 久久久久久美女 | 激情黄色一级片 | 日韩欧美一区二区三区在线观看 | 欧洲精品码一区二区三区免费看 | av成人在线看 | 国产精品视频久久 | 欧美日韩有码 | 日韩在线网址 | 国产99久久久欧美黑人 | 男女精品久久 | 色网站在线免费观看 | 国产精品美女久久久久久免费 | 在线免费黄色毛片 | 亚洲黄色在线观看 | 91在线视频观看 | 国产99久久久久 | 中文字幕免费高清在线观看 | 色无五月 | 西西444www大胆高清视频 | 亚洲天天在线 | av中文资源在线 | a在线免费 | 婷婷综合久久 | 午夜精品一区二区国产 | 国产精品麻豆99久久久久久 | 亚洲视频99| 免费在线观看毛片网站 | 中文字幕免费在线看 | 日韩欧美视频在线观看免费 | 国产成人精品在线 | 免费观看www7722午夜电影 | 欧美日本啪啪无遮挡网站 | 日本一区二区不卡高清 | 在线成人免费av | 亚洲精品在线资源 | 久久精品这里都是精品 | 欧美日韩一区二区在线 | 亚洲日本中文字幕在线观看 | 久久区二区 | 亚洲国产精品一区二区尤物区 | 美女视频是黄的免费观看 | 精品乱码一区二区三四区 | 国产亚洲一区二区三区 | av片一区二区 | 六月丁香在线观看 | 日本中文字幕一二区观 | 久久精品国产99国产 | 99精品在这里 | 国产我不卡 | 黄色一区二区在线观看 | 日狠狠 | 美女视频久久 | 国产一区二区在线免费观看 | 国产视频中文字幕在线观看 | 99高清视频有精品视频 | 九九免费在线观看 | 亚洲视频网站在线观看 | 日韩精品免费在线观看 | 国产亚洲资源 | www.超碰97.com| 日日噜噜噜噜夜夜爽亚洲精品 | 在线国产专区 | 精品一区精品二区高清 | 久久视频在线免费观看 | 国产福利资源 | 美女网站在线 | 久久久久免费电影 | 国产精品一区免费观看 | 久草免费资源 | 丁香资源影视免费观看 | 亚洲福利精品 | 日韩欧美视频 | 国产精品国产三级国产aⅴ无密码 | 国产高清在线不卡 | 91看片淫黄大片91 | 欧美日韩国产精品一区二区 | 在线韩国电影免费观影完整版 | 精品国产乱码一区二区三区在线 | 激情开心网站 | 欧美日韩国产mv | 又色又爽的网站 | 丝袜美腿av| 在线中文字幕av观看 | 91麻豆免费版| 狠狠干夜夜爱 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 精品婷婷 | 999久久国精品免费观看网站 | 五月天婷婷在线视频 | 天天se天天cao天天干 | www.色婷婷| 久久伊人精品天天 | 丁香午夜婷婷 | 国产一区二区高清视频 | 日韩精品你懂的 | 国产日韩欧美在线观看 | 亚洲黄色激情小说 | 久久天堂亚洲 | 久久一区二区三区日韩 | 99人久久精品视频最新地址 | 免费看成人a | 日韩在线观看小视频 | 久久久电影 | 国产精品wwwwww | h文在线观看免费 | 日韩一区二区三区免费电影 | 最近最新最好看中文视频 | 精品久久影院 | 中文字幕在线视频网站 | 日韩女同一区二区三区在线观看 | 国产精品女同一区二区三区久久夜 | 久久99精品波多结衣一区 | 国产手机视频在线播放 | av黄色免费在线观看 | 欧美精品被| 午夜精品麻豆 | 亚洲精品短视频 | 中文字幕亚洲欧美日韩 | 人人干人人添 | 国产精品美女久久久久久久 | 天堂av影院 | 探花视频在线观看+在线播放 | 五月激情丁香婷婷 | 午夜精选视频 | 亚洲综合色视频在线观看 | 欧美精品v国产精品v日韩精品 | 国产精品久久久久久久久久久久午夜 | 久久久久高清毛片一级 | 午夜久久福利视频 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 久久深爱网 | 国产精品久久久免费 | 日本黄色免费网站 | 国产精品热视频 | 国产精品久久久久久久久大全 | 日本丰满少妇免费一区 | se婷婷| 国产在线观看你懂得 | 日韩视频免费播放 | 国产 精品 资源 | 免费视频一级片 | 91福利视频免费 | 欧美色图视频一区 | 久久精品伊人 | av在线电影播放 | 国产无吗一区二区三区在线欢 | 国产一区二区三区黄 | 日本精品在线视频 | 日韩1页| 波多野结衣视频一区二区三区 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 九九精品久久 | 日韩伦理一区二区三区av在线 | 日韩激情片在线观看 | 狠狠操影视| 黄色网址av| 丁香六月综合网 | 久久三级毛片 | 女人魂免费观看 | 成人免费91 | 天天插综合网 | 亚洲国产影院av久久久久 | 天天操导航 | 丝袜美女在线观看 | 久久久久久国产精品亚洲78 | 国产午夜麻豆影院在线观看 | 超碰伊人网 | 成人欧美一区二区三区在线观看 | 久久久伦理 | 亚洲男女精品 | 成人高清在线观看 | 中文字幕日韩一区二区三区不卡 | 麻豆影视网 | 一级片视频在线 | 人人草人人草 | 午夜黄网| 手机在线视频福利 | 久久99精品国产99久久 | 欧美极品少妇xxxx | 亚洲区视频在线观看 | 日本激情视频中文字幕 | 久久艹欧美 | 久久99精品波多结衣一区 | 久久久久国产一区二区三区 | 成人免费xyz网站 | 久草在在线| 精品国产自在精品国产精野外直播 | 国产 欧美 日产久久 | 日韩精品一区二区三区中文字幕 | 中文字幕人成乱码在线观看 | 超碰在线中文字幕 | 精品美女久久久久 | 一区二区在线电影 | 色先锋资源网 | 欧美精品xxx| 国产免费三级在线观看 | 狠狠色丁香久久婷婷综合_中 | 日韩午夜一级片 | 国产精品视频专区 | 成人理论在线观看 | 欧美粗又大 | 欧美性生活免费 | 日韩在线观看 | 精品毛片久久久久久 | 成人精品一区二区三区电影免费 | 天天做日日爱夜夜爽 | 香蕉97视频观看在线观看 | 中文字幕一区二区三区四区在线视频 | 中文字幕中文字幕 | 欧美极品在线播放 | 成年人免费电影在线观看 | 婷婷六月丁香激情 | 爱爱av在线 | 色资源在线 | 亚洲一区二区三区在线看 | 国产五月婷婷 | 久久久久国产精品视频 | 亚洲精品在线免费看 | 国产美女网 | 中文在线a在线 | 午夜成人免费电影 | 狠狠干天天色 | 免费色婷婷 | 亚洲欧美视频在线观看 | 久草在线观看资源 | 久久久久亚洲精品成人网小说 | 国产精品对白一区二区三区 | 免费看黄色毛片 | 高清在线观看av | 日韩免费观看一区二区三区 | 欧美国产91| 久久伊人八月婷婷综合激情 | 日韩中文字幕第一页 | 亚洲影院国产 | 亚洲精品久久久蜜桃直播 | 亚洲精品中文字幕在线观看 | 成人三级黄色 | 人人干免费| 中文字幕日本在线 | 国产在线 一区二区三区 | 亚洲精品www久久久 www国产精品com | 精品一区二区久久久久久久网站 | 国产婷婷视频在线 | 伊人导航 | 97超碰色| 天天射射天天 | 国产成人一区二区三区免费看 | 久草在线免费新视频 | 色视频国产直接看 | www.久草视频 | 欧美成人基地 | 九九免费精品视频在线观看 | 久久手机精品视频 | 欧美精品免费在线观看 | 这里只有精品视频在线观看 | 午夜精品一区二区三区视频免费看 | 欧美 日韩精品 | 精品久久国产一区 | 成人免费在线视频观看 | 亚洲精品综合欧美二区变态 | 夜夜摸夜夜爽 | 在线观看av免费观看 | 亚洲一区二区三区在线看 | 国产亚洲精品美女久久 | 麻豆视频在线免费观看 | 国产 字幕 制服 中文 在线 | 国内精品久久久精品电影院 | 精品一区在线 | freejavvideo日本免费 | а中文在线天堂 | 国产四虎影院 | 毛片永久新网址首页 | 久久福利综合 | 亚洲精品影视在线观看 | www.久久久久| 国产一级免费在线观看 | 日韩精品一区二区三区免费视频观看 | 黄av免费在线观看 | 91精品欧美一区二区三区 | h视频日本 | 九九三级毛片 | 国内精品久久久久影院日本资源 | 伊人中文网 | 黄色毛片视频 | 不卡的av在线 | 国产高清精品在线 | 久久99精品久久久久久清纯直播 | 免费网站色 | 欧美 日韩 性 | 国产小视频免费在线观看 | 狠狠操综合网 | 碰超人人 | 亚洲精品高清视频 | 免费在线日韩 | 国产免费高清视频 | 欧美精品中文在线免费观看 | 亚洲一级电影 | 九九久久久久久久久激情 | 97人人爽| 五月婷婷开心 | 999电影免费在线观看 | 国产三级视频 | 免费福利在线播放 | 高清不卡一区二区三区 | 久久久久国 | 日韩有码在线观看视频 | 91看片淫黄大片一级在线观看 | 中文字幕成人一区 | 欧美大片mv免费 | 亚洲欧美视频在线观看 | 久久99国产一区二区三区 | 成人av一区二区三区 | 国产123av| 91九色视频观看 | 国产一区二区不卡视频 | 69精品在线观看 | www.色五月| 五月天狠狠操 | 久久久久欧美精品999 | 亚洲 中文 在线 精品 | 亚洲理论电影网 | 日韩av免费在线看 | 中文字幕日韩国产 | 天天干天天射天天插 | 久久久高清视频 | 欧美色综合天天久久综合精品 | 国产精品久久久电影 | 久久免费视频网 | avav片 | 亚洲少妇xxxx| 一区三区视频在线观看 | 五月婷婷丁香综合 | 国产免费观看高清完整版 | 亚洲最大成人免费网站 | 91精品啪在线观看国产 | aⅴ视频在线| 中文字幕亚洲精品在线观看 | 国产视频一区二区在线播放 | 曰本免费av | 97在线观看视频免费 | 亚洲精品综合在线观看 | 亚洲国产精彩中文乱码av | 97国产一区| 免费黄在线观看 | 波多野结衣在线观看一区二区三区 | 午夜成人免费电影 | 91香蕉国产 | 婷婷丁香狠狠爱 | 成年人电影免费在线观看 | 午夜视频在线观看一区 | 亚洲免费成人av电影 | 在线观看黄网 | 日日夜夜噜噜噜 | 99操视频 | 美女精品| 免费一级片在线 | 国产一级在线免费观看 | 亚洲精品黄网站 | 亚洲香蕉视频 | 在线免费观看国产精品 | 国产精品免费久久久久影院仙踪林 | 久久国产精品免费一区二区三区 | 91精品国产一区二区三区 | 免费v片| 亚洲精品国 | 国产一区二区在线观看免费 | 中文字幕av免费 | 国产精品久久久久久久久免费看 | 91视频免费网址 | 97国产精品久久 | 国产精品久久久 | 三级a视频 | 国产精品va在线观看入 | 亚洲黄色三级 | 日韩免费视频在线观看 | 美女露久久 | 免费在线观看午夜视频 | 免费视频一区 | 国产精品二区三区 | 粉嫩一二三区 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 菠萝菠萝在线精品视频 | 天天射天天干天天爽 | 欧美日韩一区二区视频在线观看 | 99久免费精品视频在线观看 | 成人午夜剧场在线观看 | 久久亚洲免费 | 一区二区三区免费在线 | 国产精久久久久久妇女av | 国产一级视频在线观看 | av综合av| 亚洲 欧美 91 | 欧美一二三区播放 | 91视频链接 | 久久精品美女 | 麻豆免费视频观看 | 亚洲精品视频在线播放 | 久久久久久久电影 | 最近中文字幕国语免费高清6 | 视频一区二区三区视频 | 狠狠干中文字幕 | 色姑娘综合 | 狠狠88综合久久久久综合网 | 国产成人亚洲精品自产在线 | 麻豆视频国产在线观看 | 久久a免费视频 | 久久亚洲免费视频 | www.天天成人国产电影 | 91精品福利在线 | 特级a老妇做爰全过程 | 日韩伦理一区二区三区av在线 | 久久99影院 | 欧美成人中文字幕 | 久久在视频 | 黄色大片中国 | 91成人短视频在线观看 | 久久久www成人免费毛片 | 婷婷丁香五 | 三级黄免费看 | 婷婷综合亚洲 | 一级黄色在线免费观看 | 日韩网页| 国产色婷婷精品综合在线手机播放 | 久久在线免费 | 国产私拍在线 | 99久久夜色精品国产亚洲 | 色综合狠狠干 | 久久国语露脸国产精品电影 | 久久 亚洲视频 | 成人羞羞视频在线观看免费 | 成年人电影免费看 | 久久精品国产第一区二区三区 | 久久久久久久久久久网 | 国产视频精品久久 | 99热手机在线观看 | 色一色在线 | 999ZYZ玖玖资源站永久 | 国内少妇自拍视频一区 | 九九九免费视频 | 国产91在| 91精品91| 在线观看 国产 | 国产日韩精品久久 | 三级av网站 | 色婷婷综合久久久久中文字幕1 | 国产大陆亚洲精品国产 | 四虎影视国产精品免费久久 | 成人a视频在线观看 | 天天综合成人网 | 日韩av视屏 | 久久av免费| 91精品国产99久久久久 | 国产精品免费看久久久8精臀av | 99在线精品免费视频九九视 | 91精品国产麻豆国产自产影视 | 日韩一区二区三区不卡 | 亚洲精品国产精品国自产在线 | 亚洲精品国产视频 | 日韩在线免费不卡 | 8x8x在线观看视频 | www免费黄色 | 97av影院 | 久久免费视频播放 | 精品国产免费久久 | av在线最新 | 日韩视频1区 | 欧美日韩国产一区二区在线观看 | 精品久久视频 | 亚洲国产成人在线观看 | av天天在线观看 | 日韩欧美高清 | 午夜性生活 | 天天要夜夜操 | 成人免费视频网 | 国产精品自产拍 | 九九综合久久 | 亚洲丁香日韩 | 在线观看国产91 | 欧美性爽爽 | 午夜免费福利视频 | 久操视频在线观看 | 欧美精彩视频在线观看 | 天天激情 | 久久综合九色综合久99 | 丁香在线视频 | 97精品国产97久久久久久粉红 | 丁香色婷婷 | 国产精品区一区 | 久久黄色美女 | av免费看在线 | 香蕉影院在线播放 | 国产最新福利 | 99久久久国产精品免费观看 | 天天操天天爱天天干 | 91在线九色 | 亚洲国产日韩在线 | 久久免费视频一区 | av免费看在线 | 中文字幕国产一区二区 | 亚洲国产精品电影 | 久久av高清| 欧美一区二区三区四区夜夜大片 | 国产精品女 | 成人在线观看免费 | 日韩在线激情 | 日韩av播放在线 | 日韩免费视频线观看 | 国产日韩欧美视频在线观看 | 国产九九九精品视频 | 欧美天堂久久 | 久久免费视频播放 | 欧美色图视频一区 | 国产黄色一级片在线 | 国产精品毛片久久久久久久久久99999999 | 久久国产精品系列 | 能在线观看的日韩av | 欧美日韩久 | 日韩成人免费在线 | 在线成人免费av | 激情视频国产 | av黄色亚洲| 久青草视频 | 欧美日韩三级在线观看 | 欧美日韩一二三四区 | 国产中文字幕三区 | 91一区二区在线 | 色综合色综合久久综合频道88 | 久久精品这里热有精品 | 九九九热精品免费视频观看网站 | 亚州精品天堂中文字幕 | 在线小视频国产 | 精品国产电影一区 | 中文字幕乱在线伦视频中文字幕乱码在线 | 国产vs久久 | 免费观看9x视频网站在线观看 | 亚洲成人黄色在线观看 | 欧美三级高清 | 玖玖在线资源 | 亚洲精品h | 九九热免费视频在线观看 | 免费h视频 | 亚洲精品在线视频 | 日韩在线 | 开心激情五月网 | 亚洲国产成人精品电影在线观看 | 一区 二区电影免费在线观看 | 91高清不卡 | 又大又硬又黄又爽视频在线观看 | 国产视频在线一区二区 | 不卡电影一区二区三区 | 国产婷婷久久 | 免费福利在线 | 99视频精品免费视频 | 日韩av免费在线电影 | 中文字幕有码在线播放 | 免费看一及片 | 亚洲国产精彩中文乱码av | 亚洲精品在线视频播放 | av超碰在线 | 2019中文最近的2019中文在线 | 成人91在线 | 国产精品免费久久久久久 | 国产在线观看高清视频 | 成人精品一区二区三区中文字幕 | av福利第一导航 | 国产精品成久久久久 | 免费观看第二部31集 | 久久一区二区三区四区 | 久久久久北条麻妃免费看 | 日本精油按摩3 | 久久午夜精品视频 | 91av视频免费在线观看 | 久久999久久| 人人爽人人搞 | 天天干天天爽 | 久久99精品久久久久久 | 亚洲精品国产精品国 | 激情电影影院 | 日日操日日操 | 国产精品久久久久久久av电影 | 91香蕉视频黄色 | 久久精品在线 | 18女毛片 | 国产视频在线观看一区 | 久久美女免费视频 | 欧美日韩成人 | 91夫妻视频| 久久天天综合网 | 永久免费的啪啪网站免费观看浪潮 | 91香蕉视频好色先生 | 成人午夜精品福利免费 | 人人澡超碰碰97碰碰碰软件 | 亚洲一片黄 | 女人18片毛片90分钟 | 国产玖玖在线 | 成人一级在线 | 福利片免费看 | 国产精品一区二区久久国产 | 精品国产99 | 丝袜一区在线 | 久久天天躁狠狠躁亚洲综合公司 | 精品一区二区三区电影 | 国产流白浆高潮在线观看 | 九九热久久免费视频 | 天天操天天干天天爱 | 激情综合网婷婷 | 亚洲日韩中文字幕在线播放 | 久久99热这里只有精品国产 | 色婷婷综合久久久久中文字幕1 | 久久99久久久久 | 欧美一级艳片视频免费观看 | 亚州av一区| 中文字幕在线观看视频一区二区三区 | 狠狠色狠狠色 | 国产精品九九久久久久久久 | 免费在线激情电影 | 免费看国产一级片 | 麻豆久久久 | 欧美日韩视频观看 | 久久久精品在线观看 | 少妇视频一区 | 在线免费观看视频你懂的 | 看av在线 | 国产精品自产拍在线观看中文 | 亚洲成人资源在线观看 | 精品在线一区二区三区 | 国产一区二区三区免费观看视频 | 福利区在线观看 | 蜜桃视频日韩 | 看国产黄色片 | 久久久久久在线观看 | 免费看色的网站 | 国产精品久久99精品毛片三a | 免费网站污 | 在线黄频 | 96久久久| 午夜精品一二区 | aaa日本高清在线播放免费观看 | 国产h在线播放 | 天天综合网久久 | 中文字幕第一页在线 | 久草在线手机视频 | 久久五月婷婷丁香社区 | 很黄很黄的网站免费的 | 国产精品自拍在线 | 丝袜制服天堂 | 狠狠躁日日躁狂躁夜夜躁 | 免费中文字幕在线观看 | 国产天天爽 | 日韩欧美精品一区二区 | 亚洲另类视频 | 久久草 | 国产视频欧美视频 | 狠狠狠狠狠狠天天爱 | 狠狠干 狠狠操 | 欧美日本国产在线观看 | 日韩精品不卡在线 | 久久精品www人人爽人人 | 免费看国产精品 | 欧美精品一级视频 | 黄p网站在线观看 | 粉嫩av一区二区三区四区在线观看 | 在线视频 区| 四虎在线免费观看 | 97电影在线看视频 | 激情久久网| 久久国产精品成人免费浪潮 | 国产一级在线 | 99精品国自产在线 | 欧美老人xxxx18 | 四月婷婷在线观看 | 99精品视频在线观看 | www操操操 | 综合网伊人 | 免费高清男女打扑克视频 | 免费手机黄色网址 | 国产精品毛片一区 | 国产网红在线观看 | av大片网址| 久久黄页 | 成人四虎| 婷婷色五| 久草av在线播放 | 中文字幕乱码亚洲精品一区 | 国产日韩在线播放 | 国产又粗又猛又黄又爽的视频 | www.黄色小说.com | 久久99网站| 人人爽人人澡人人添人人人人 | 久草在线在线 | 国内成人av | 国产精品久久久久久久妇 | 丁香婷婷网 | 婷婷av色综合 | 综合网成人 | av不卡免费看 | 一本一道久久a久久精品蜜桃 | 精精国产xxxx视频在线播放 | 欧美日韩中 | 毛片无卡免费无播放器 | 亚洲精品在线观看中文字幕 | 首页av在线| 国产性天天综合网 | 国产精品6999成人免费视频 | 美女av免费看 | 国产精品成人av在线 | 久久精品久久精品久久39 | 黄色一级在线视频 | 91九色成人 | 在线高清av | 国产精品6999成人免费视频 | 四虎永久免费网站 | 国产一区在线免费观看视频 | 色综合久久久久综合 | 欧美激情视频一区二区三区免费 | 日韩黄色一级电影 | 成人久久毛片 | 日韩在线第一区 | 国产尤物在线观看 | 欧美与欧洲交xxxx免费观看 | 正在播放五月婷婷狠狠干 | 国产精品网红直播 | 99免在线观看免费视频高清 | 日本黄色免费大片 | 免费激情网 | 国产麻豆精品一区二区 | 精品国产乱码久久久久久天美 | 精品国产诱惑 | 国产精品网红直播 | 91手机视频 | 日本中文字幕网址 | 日韩黄色在线电影 | 中文字幕在线免费观看 | 成人一级在线 | 日韩av中文字幕在线免费观看 | 久草.com| 国产小视频你懂的 | 激情五月婷婷综合 | 欧美一二三四在线 | 欧美成人h版电影 | 成年人黄色免费看 | 91福利影院在线观看 | 五月天丁香视频 | 久久久精品视频成人 | 91精品视频观看 | 六月激情婷婷 | 嫩草av影院| 久久精品视频免费观看 | 国产精品午夜久久久久久99热 | www.操.com| 国内精品久久久久久 | 国产录像在线观看 | 久久一二区 | 91高清免费看| 欧美精品一二三 | 激情中文字幕 | 久久综合九色欧美综合狠狠 | 天天干夜夜擦 | 在线午夜电影神马影院 | 在线观看a视频 | 中文字幕高清 | 中文字幕av在线播放 | 成人国产精品一区 | 亚州人成在线播放 |