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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

.NET 异步详解(更新)

發(fā)布時(shí)間:2023/12/4 asp.net 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET 异步详解(更新) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

博客園(cnblogs.com)中有很多關(guān)于 .NET?async/await?的介紹,但是很遺憾,很少有正確的,甚至說大多都是“從現(xiàn)象編原理”都不過分。

最典型的比如通過前后線程 ID 來推斷其工作方式、在?async?方法中用?Thread.Sleep?來解釋?Task?機(jī)制而導(dǎo)出多線程模型的結(jié)論、在?Task.Run?中包含 IO bound 任務(wù)來推出這是開了一個(gè)多線程在執(zhí)行任務(wù)的結(jié)論等等。

看上去似乎可以解釋的通,可是很遺憾,無論是從原理還是結(jié)論上看都是錯(cuò)誤的。

要了解 .NET 中的?async/await?機(jī)制,首先需要有操作系統(tǒng)原理的基礎(chǔ),否則的話是很難理解清楚的,如果沒有這些基礎(chǔ)而試圖向他人解釋,大多也只是基于現(xiàn)象得到的錯(cuò)誤猜想。

初看異步

說到異步大家應(yīng)該都很熟悉了,2012 年 C# 5 引入了新的異步機(jī)制:Task,并且還有兩個(gè)新的關(guān)鍵字?await?和?async,這已經(jīng)不是什么新鮮事了,而且如今這個(gè)異步機(jī)制已經(jīng)被各大語言借鑒,如 JavaScript、TypeScript、Rust、C++ 等等。

下面給出一個(gè)簡(jiǎn)單的對(duì)照:

語言調(diào)度單位關(guān)鍵字/方法
C#Task<>、ValueTask<>async、await
C++std::future<>co_await
Ruststd::future::Future<>.await
JavaScript、TypeScriptPromise<>async、await

當(dāng)然,這里這并不是本文的重點(diǎn),只是提一下,方便大家在有其他語言經(jīng)驗(yàn)的情況下(如果有),可以認(rèn)識(shí)到 C# 中?Task?和?async/await?究竟是一個(gè)和什么可以相提并論的東西。

多線程編程

在該異步編程模型誕生之前,多線程編程模型是很多人所熟知的。一般來說,開發(fā)者會(huì)使用?Thread、std::thread?之類的東西作為線程的調(diào)度單位來進(jìn)行多線程開發(fā),每一個(gè)這樣的結(jié)構(gòu)表示一個(gè)對(duì)等線程,線程之間采用互斥或者信號(hào)量等方式進(jìn)行同步。

多線程對(duì)于科學(xué)計(jì)算速度提升等方面效果顯著,但是對(duì)于 IO 負(fù)荷的任務(wù),例如從讀取文件或者 TCP 流,大多數(shù)方案只是分配一個(gè)線程進(jìn)行讀取,讀取過程中阻塞該線程:


void Main()

{

????while (true)

????{

????????var client = socket.Accept();

????????new Thread(() => ClientThread(client)).Start();

????}

}

?

void ClientThread(Socket client)

{

????var buffer = new byte[1024];

????while (...)

????{

????????// read and block

????????client.Read(buffer, 0, 1024);

????}

}

上述代碼中,Main?函數(shù)在接收客戶端之后即分配了一個(gè)新的用戶線程用于處理該客戶端,從客戶端接收數(shù)據(jù)。client.Read()?執(zhí)行后,該線程即被阻塞,即使阻塞期間該線程沒有任何的操作,該用戶線程也不會(huì)被釋放,并被操作系統(tǒng)不斷輪轉(zhuǎn)調(diào)度,這顯然浪費(fèi)了資源。

另外,如果線程數(shù)量多起來,頻繁在不同線程之間輪轉(zhuǎn)切換上下文,線程的上下文也不小,會(huì)浪費(fèi)掉大量的性能。

異步編程

因此對(duì)于此工作內(nèi)容(IO),我們?cè)?Linux 上有了 epoll/io_uring 技術(shù),在 Windows 上有了 IOCP 技術(shù)用以實(shí)現(xiàn)異步 IO 操作。

(這里插句題外話,吐槽一句,Linux 終于知道從 Windows 抄作業(yè)了。先前的 epoll 對(duì)比 IOCP 簡(jiǎn)直不能打,被 IOCP 全面打壓,io_uring 出來了才好不容易能追上 IOCP,不過 IOCP 從 Windows Vista 時(shí)代開始每一代都有很大的優(yōu)化,io_uring 能不能追得上還有待商榷)

這類 API 有一個(gè)共同的特性就是,在操作 IO 的時(shí)候,調(diào)用方控制權(quán)被讓出,等待 IO 操作完成之后恢復(fù)先前的上下文,重新被調(diào)度繼續(xù)運(yùn)行。

所以表現(xiàn)就是這樣的:

假設(shè)我現(xiàn)在需要從某設(shè)備中讀取 1024 個(gè)字節(jié)長(zhǎng)度的數(shù)據(jù),于是我們將緩沖區(qū)的地址和內(nèi)容長(zhǎng)度等信息封裝好傳遞給操作系統(tǒng)之后我們就不管了,讀取什么的讓操作系統(tǒng)去做就好了。

操作系統(tǒng)在內(nèi)核態(tài)下利用 DMA 等方式將數(shù)據(jù)讀取了 1024 個(gè)字節(jié)并寫入到我們先前的 buffer 地址下,然后切換到用戶態(tài)將從我們先前讓出控制權(quán)的位置,對(duì)其進(jìn)行調(diào)度使其繼續(xù)執(zhí)行。

你可以發(fā)現(xiàn)這么一來,在讀取數(shù)據(jù)期間就沒有任何的線程被阻塞,也不存在被頻繁調(diào)度和切換上下文的情況,只有當(dāng) IO 操作完成之后才會(huì)被重新調(diào)度并恢復(fù)先前讓出控制權(quán)時(shí)的上下文,使得后面的代碼繼續(xù)執(zhí)行。

當(dāng)然,這里說的是操作系統(tǒng)的異步 IO 實(shí)現(xiàn)方式,以便于讀者對(duì)異步這個(gè)行為本身進(jìn)行理解,和 .NET 中的異步還是有區(qū)別,Task?本身和操作系統(tǒng)也沒什么關(guān)系。

Task (ValueTask)

說了這么久還是沒有解釋?Task?到底是個(gè)什么東西,從上面的分析就可以得出,Task?其實(shí)就是一個(gè)所謂的調(diào)度單位,每個(gè)異步任務(wù)被封裝為一個(gè)?Task?在 CLR 中被調(diào)度,而?Task?本身會(huì)運(yùn)行在 CLR 中的預(yù)先分配好的線程池中。

總有很多人因?yàn)?Task?借助線程池執(zhí)行而把?Task?歸結(jié)為多線程模型,這是完全錯(cuò)誤的。

這個(gè)時(shí)候有人跳出來了,說:你看下面這個(gè)代碼

1

2

3

4

5

6

7

8

static async Task Main()

{

????while (true)

????{

????????Console.WriteLine(Environment.CurrentManagedThreadId);

????????await Task.Delay(1000);

????}

}

輸出的線程 ID 不一樣欸,你騙人,這明明就是多線程!對(duì)于這種言論,我也只能說這些人從原理上理解的就是錯(cuò)誤的。

當(dāng)代碼執(zhí)行到?await?的時(shí)候,此時(shí)當(dāng)前的控制權(quán)就已經(jīng)被讓出了,當(dāng)前線程并沒有在阻塞地等待延時(shí)結(jié)束;待?Task.Delay()?完畢后,CLR 從線程池當(dāng)中挑起了一個(gè)先前分配好的已有的但是空閑的線程,將讓出控制權(quán)前的上下文信息恢復(fù),使得該線程恰好可以從先前讓出的位置繼續(xù)執(zhí)行下去。這個(gè)時(shí)候,可能挑到了先前讓出前所在的那個(gè)線程,導(dǎo)致前后線程 ID 一致;也有可能挑到了另外一個(gè)和之前不一樣的線程執(zhí)行下面的代碼,使得前后的線程 ID 不一致。在此過程中并沒有任何的新線程被分配了出去。

在 .NET 中由于采用 stackless 的做法,這里需要用到 CPS 變換,大概是這么個(gè)流程:


using System;

using System.Threading.Tasks;

?

public class C

{

????public async Task M()

????{

????????var a = 1;

????????await Task.Delay(1000);

????????Console.WriteLine(a);

????}

}

編譯后:


public class C

{

????[StructLayout(LayoutKind.Auto)]

????[CompilerGenerated]

????private struct <M>d__0 : IAsyncStateMachine

????{

????????public int <>1__state;

?

????????public AsyncTaskMethodBuilder <>t__builder;

?

????????private int <a>5__2;

?

????????private TaskAwaiter <>u__1;

?

????????private void MoveNext()

????????{

????????????int num = <>1__state;

????????????try

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

????????????????TaskAwaiter awaiter;

????????????????if (num != 0)

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

????????????????????<a>5__2 = 1;

????????????????????awaiter = Task.Delay(1000).GetAwaiter();

????????????????????if (!awaiter.IsCompleted)

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

????????????????????????num = (<>1__state = 0);

????????????????????????<>u__1 = awaiter;

????????????????????????<>t__builder.AwaitUnsafeOnCompleted(ref awaiter, ref this);

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

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

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

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

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

????????????????????awaiter = <>u__1;

????????????????????<>u__1 = default(TaskAwaiter);

????????????????????num = (<>1__state = -1);

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

????????????????awaiter.GetResult();

????????????????Console.WriteLine(<a>5__2);

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

????????????catch (Exception exception)

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

????????????????<>1__state = -2;

????????????????<>t__builder.SetException(exception);

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

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

????????????<>1__state = -2;

????????????<>t__builder.SetResult();

????????}

?

????????void IAsyncStateMachine.MoveNext()

????????{

????????????//ILSpy generated this explicit interface implementation from .override directive in MoveNext

????????????this.MoveNext();

????????}

?

????????[DebuggerHidden]

????????private void SetStateMachine(IAsyncStateMachine stateMachine)

????????{

????????????<>t__builder.SetStateMachine(stateMachine);

????????}

?

????????void IAsyncStateMachine.SetStateMachine(IAsyncStateMachine stateMachine)

????????{

????????????//ILSpy generated this explicit interface implementation from .override directive in SetStateMachine

????????????this.SetStateMachine(stateMachine);

????????}

????}

?

????[AsyncStateMachine(typeof(<M>d__0))]

????public Task M()

????{

????????<M>d__0 stateMachine = default(<M>d__0);

????????stateMachine.<>t__builder = AsyncTaskMethodBuilder.Create();

????????stateMachine.<>1__state = -1;

????????stateMachine.<>t__builder.Start(ref stateMachine);

????????return stateMachine.<>t__builder.Task;

????}

}

可以看到,原來的變量?a?被塞到了?<a>5__2?里面去(相當(dāng)于備份上下文),Task 狀態(tài)的轉(zhuǎn)換后也是靠著調(diào)用?MoveNext(相當(dāng)于狀態(tài)轉(zhuǎn)換后被重新調(diào)度)來接著驅(qū)動(dòng)代碼執(zhí)行的,里面的?num?就表示當(dāng)前的狀態(tài),num?如果為 0 表示 Task 完成了,于是接著執(zhí)行下面的代碼?Console.WriteLine(<a>5__2);。

當(dāng)然,在 WPF 等地方,因?yàn)槔昧?SynchronizationContext?對(duì)調(diào)度行為進(jìn)行了控制,所以可以得到和上述不同的結(jié)論,和這個(gè)相關(guān)的還有?.ConfigureAwait()?的用法,但是這里不是本文重點(diǎn),因此就不做展開。

但是上面和經(jīng)典的多線程編程的那一套一樣嗎?不一樣。

至于?ValueTask?是個(gè)什么玩意,官方發(fā)現(xiàn),Task?由于本身是一個(gè)?class,在運(yùn)行時(shí)如果頻繁反復(fù)的分配和回收會(huì)給 GC 造成不小的壓力,因此出了一個(gè)?ValueTask,這個(gè)東西是?struct,分配在棧上,這樣的話就不會(huì)給 GC 造成壓力了,減輕了開銷。不過也正因?yàn)?ValueTask?是會(huì)在棧上分配的值類型結(jié)構(gòu),因此提供的功能也不如?Task?全面。

Task.Run

由于 .NET 是允許有多個(gè)線程的,因此也提供了?Task.Run?這個(gè)方法,允許我們將 CPU bound 的任務(wù)放在上述的線程池之中的某個(gè)線程上執(zhí)行,并且允許我們將該負(fù)載作為一個(gè)?Task?進(jìn)行管理,僅在這一點(diǎn)才和多線程的采用線程池的編程比較像。

對(duì)于瀏覽器環(huán)境(v8),這個(gè)時(shí)候是完全沒有多線程這一說的,因此你開的新的?Promise?其實(shí)是后面利用事件循環(huán)機(jī)制,將該微任務(wù)以異步的方式執(zhí)行。

想一想在 JavaScript 中,Promise?是怎么用的:

1

2

3

4

5

6

7

8

9

10

11

12

let p = new Promise((resolve, reject) => {

????// do something

????let success = true;

????let result = 123456;

?

????if (success) {

????????resolve(result);

????}

????else {

????????reject("failed");

????}

})

然后調(diào)用:

1

2

let r = await p;

console.log(r); // 輸出 123456

你只需要把這一套背后的驅(qū)動(dòng)器:事件循環(huán)隊(duì)列,替換成 CLR 的線程池,就差不多是 .NET 的?Task?相對(duì) JavaScript 的?Promise?的工作方式了。

如果你把 CLR 線程池線程數(shù)量設(shè)置為 1,那就和 JavaScript 這套幾乎差不多了(雖然實(shí)現(xiàn)上還是有差異)。

這時(shí)有人要問了:“我在 Task.Run 里面套了好幾層 Task.Run,可是為什么層數(shù)深了之后里面的不執(zhí)行了呢?” 這是因?yàn)樯厦嫠f的線程池被耗盡了,后面的?Task?還在排著隊(duì)等待被調(diào)度。

自己封裝異步邏輯

了解了上面的東西之后,相信對(duì) .NET 中的異步機(jī)制應(yīng)該理解得差不多了,可以看出來這一套是名副其實(shí)的 coroutine,并且在實(shí)現(xiàn)上是 stackless 的。至于有的人說的什么狀態(tài)機(jī)什么的,只是實(shí)現(xiàn)過程中利用的手段而已,并不是什么重要的東西。

那我們要怎么樣使用?Task?來編寫我們自己的異步代碼呢?

事件驅(qū)動(dòng)其實(shí)也可以算是一種異步模型,例如以下情景:

A?函數(shù)調(diào)用?B?函數(shù),調(diào)用發(fā)起后就直接返回不管了(BeginInvoke),B?函數(shù)執(zhí)行完成后觸發(fā)事件執(zhí)行?C?函數(shù)。


private event Action CompletedEvent;

?

void A()

{

????CompletedEvent += C;

????Console.WriteLine("begin");

????((Action)B).BeginInvoke();

}

?

void B()

{

????Console.WriteLine("running");

????CompletedEvent?.Invoke();

}

?

void C()

{

????Console.WriteLine("end");

}

那么我們現(xiàn)在想要做一件事,就是把上面的事件驅(qū)動(dòng)改造為利用?async/await?的異步編程模型,改造后的代碼就是簡(jiǎn)單的:


async Task A()

{

????Console.WriteLine("begin");

????await B();

????Console.WriteLine("end");

}

?

Task B()

{

????Console.WriteLine("running");

????return Task.CompletedTask;

}

你可以看到,原本?C?函數(shù)的內(nèi)容被放到了?A?調(diào)用?B?的下面,為什么呢?其實(shí)很簡(jiǎn)單,因?yàn)檫@里?await B();?這一行以后的內(nèi)容,本身就可以理解為?B?函數(shù)的回調(diào)了,只不過在內(nèi)部實(shí)現(xiàn)上,不是直接從?B?進(jìn)行調(diào)用的回調(diào),而是?A?先讓出控制權(quán),B?執(zhí)行完成后,CLR 切換上下文,將?A?調(diào)度回來繼續(xù)執(zhí)行剩下的代碼。

如果事件相關(guān)的代碼已經(jīng)確定不可改動(dòng)(即不能改動(dòng) B 函數(shù)),我們想將其封裝為異步調(diào)用的模式,那只需要利用?TaskCompletionSource?即可:


private event Action CompletedEvent;

?

async Task A()

{

????// 因?yàn)?TaskCompletionSource 要求必須有一個(gè)泛型參數(shù)

????// 因此就隨便指定了一個(gè) bool

????// 本例中其實(shí)是不需要這樣的一個(gè)結(jié)果的

????// 需要注意的是從 .NET 5 開始

????// TaskCompletionSource 不再強(qiáng)制需要泛型參數(shù)

????var tsc = new TaskCompletionSource<bool>();

????// 隨便寫一個(gè)結(jié)果作為 Task 的結(jié)果

????CompletedEvent += () => tsc.SetResult(false);

?

????Console.WriteLine("begin");

????((Action)B).BeginInvoke();

????await tsc.Task;

????Console.WriteLine("end");

}

?

void B()

{

????Console.WriteLine("running");

????CompletedEvent?.Invoke();

}

順便提一句,這個(gè)?TaskCompletionSource<T>?其實(shí)和 JavaScript 中的?Promise<T>?更像。SetResult()?方法對(duì)應(yīng)?resolve(),SetException()?方法對(duì)應(yīng)?reject()。.NET 比 JavaScript 還多了一個(gè)取消狀態(tài),因此還可以?SetCancelled()?表示任務(wù)被取消了。

同步方式調(diào)用異步代碼

說句真的,一般能有這個(gè)需求,都說明你的代碼寫的有問題,但是如果你無論如何都想以阻塞的方式去等待一個(gè)異步任務(wù)完成的話:

1

2

Task t = ...

t.GetAwaiter().GetResult();

祝你好運(yùn),這相當(dāng)于,t?中的異步任務(wù)開始執(zhí)行后,你將當(dāng)前線程阻塞,然后等到?t?完成之后再喚醒,可以說是:毫無意義,而且很有可能因?yàn)榇a編寫不當(dāng)而導(dǎo)致死鎖的發(fā)生。

void async 是什么?

最后有人會(huì)問了,函數(shù)可以寫?async Task Foo(),還可以寫?async void Bar(),這有什么區(qū)別呢?

對(duì)于上述代碼,我們一般調(diào)用的時(shí)候,分別這么寫:

1

2

await Foo();

Bar();

可以發(fā)現(xiàn),誒這個(gè)?Bar?函數(shù)不需要?await?誒。為什么呢?

其實(shí)這和用以下方式調(diào)用?Foo?是一樣的:

1

_ = Foo();

換句話說就是調(diào)用后瞬間就直接拋掉不管了,不過這樣你也就沒法知道這個(gè)異步任務(wù)的狀態(tài)和結(jié)果了。

await 必須配合 Task/ValueTask 才能用嗎?

當(dāng)然不是。

在 C# 中只要你的類中包含?GetAwaiter()?方法和?bool IsCompleted?屬性,并且?GetAwaiter()?返回的東西包含一個(gè)?GetResult()?方法、一個(gè)?bool IsCompleted?屬性和實(shí)現(xiàn)了?INotifyCompletion,那么這個(gè)類的對(duì)象就是可以?await?的。


public class MyTask<T>

{

????public MyAwaiter<T> GetAwaiter()

????{

????????return new MyAwaiter<T>();

????}

}

?

public class MyAwaiter<T> : INotifyCompletion

{

????public bool IsCompleted { get; private set; }

????public T GetResult()

????{

????????throw new NotImplementedException();

????}

????public void OnCompleted(Action continuation)

????{

????????throw new NotImplementedException();

????}

}

?

public class Program

{

????static async Task Main(string[] args)

????{

????????var obj = new MyTask<int>();

????????await obj;

????}

}

結(jié)語

本文至此就結(jié)束了,感興趣的小伙伴可以多多學(xué)習(xí)一下操作系統(tǒng)原理,對(duì) CLR 感興趣也可以去研究其源代碼:https://github.com/dotnet/runtime?。

.NET 的異步和線程密不可分,但是和多線程編程方式和思想是有本質(zhì)不同的,也希望大家不要將異步和多線程混淆了,而這有聯(lián)系也有區(qū)別。

從現(xiàn)象猜測(cè)本質(zhì)是大忌,可能解釋的通但是終究只是偶然現(xiàn)象,而且從原理上看也是完全錯(cuò)誤的,甚至官方的實(shí)現(xiàn)代碼稍微變一下可能立馬就無法解釋的通了。

總之,通過本文希望大家能對(duì)異步和 .NET 中的異步有一個(gè)更清晰的理解。

感謝閱讀。

總結(jié)

以上是生活随笔為你收集整理的.NET 异步详解(更新)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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

天天干天天干天天干 | 一区 在线观看 | 91视频久久久久 | 国产一区二区手机在线观看 | 精品一二 | 久久免费在线观看 | 九九久久成人 | 99精品视频在线观看播放 | 天天操天天操天天操天天操天天操天天操 | 69av久久| 在线之家免费在线观看电影 | 人人爽人人澡人人添人人人人 | 欧美一级电影免费观看 | 99久久精品国产毛片 | 国产99久久久精品 | 成人丝袜| 91在线公开视频 | 国产精品久久一卡二卡 | 成人av在线网址 | 人人干人人搞 | 欧美一区二区三区四区夜夜大片 | 日韩中文字幕在线观看 | 免费看的黄色小视频 | 成年人免费看片网站 | 久av电影| 97超视频| 青春草视频在线播放 | 91完整版在线观看 | 一级片免费观看视频 | 中文字幕日本在线 | 久久视频在线 | 亚洲天天综合 | 欧美日韩国内在线 | 婷五月激情 | 精品国产一区二区三区在线 | 亚洲成人精品在线 | 欧美日韩视频观看 | 久操中文字幕在线观看 | 四虎免费在线观看 | 精品国产一区二区三区久久久 | 婷婷亚洲激情 | 人人玩人人添人人澡超碰 | 草久久久久久久 | 天天色天天艹 | 亚在线播放中文视频 | 国产精品区二区三区日本 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 国产成人久久av977小说 | 日韩激情视频在线观看 | 日韩一级精品 | 玖操| 伊人小视频 | 99热最新精品 | 久久久视屏 | 97在线观看免费高清完整版在线观看 | 美女精品在线观看 | 在线电影 一区 | 欧美在线视频第一页 | 国产精品一区专区欧美日韩 | 久久国产网站 | 狠狠的日 | 深爱开心激情 | 国产区av在线 | 人人爽人人澡 | 视频一区视频二区在线观看 | 欧美日韩中文在线观看 | 国产精品视频观看 | 伊人网站 | 日本狠狠干 | 国产精品亚洲人在线观看 | 岛国av在线免费 | 亚洲成a人片77777潘金莲 | 日操操| 中文字幕在线日亚洲9 | 成人免费视频网站 | 久久精品99久久 | 国产一级二级三级在线观看 | 免费在线播放视频 | 亚洲日日夜夜 | 国产大片黄色 | 最新中文字幕在线观看视频 | 婷婷亚洲激情 | 国产精品久久久久久久久久尿 | av资源中文字幕 | 日本三级久久久 | 国产精品电影一区 | 国产精品手机在线 | 免费在线h | 五月婷婷,六月丁香 | 手机在线小视频 | 日韩av一卡二卡三卡 | 69国产盗摄一区二区三区五区 | av在线播放免费 | 五月婷av | 狠狠色伊人亚洲综合网站野外 | 免费成人在线观看 | 日韩高清免费电影 | 亚洲精品视频免费 | 国产一级一片免费播放放a 一区二区三区国产欧美 | av电影在线免费 | 国产精品视屏 | 日韩理论视频 | 久久精品中文字幕少妇 | 黄av免费在线观看 | 日韩免费电影网站 | 99亚洲精品在线 | 欧美极品xxxx| 免费观看午夜视频 | 亚洲欧美色婷婷 | 国产一区免费看 | 国产高清视频免费在线观看 | 色噜噜日韩精品欧美一区二区 | 91福利社区在线观看 | 久久精品日产第一区二区三区乱码 | 国产精品毛片一区二区 | 97超碰超碰久久福利超碰 | 人人插人人澡 | 99久久精品国产观看 | 日韩 在线观看 | 丝袜+亚洲+另类+欧美+变态 | 亚洲人成网站精品片在线观看 | 国产不卡在线视频 | 视频91| 九九热视频在线免费观看 | 久久综合导航 | 天天射天天爱天天干 | 久久综合久久综合久久综合 | 国产精品一区二区在线观看免费 | 香蕉97视频观看在线观看 | 丁香五月网久久综合 | 开心婷婷色| 九九视频这里只有精品 | 国产又黄又爽又猛视频日本 | 不卡的av在线 | 亚洲综合视频在线观看 | 91久久久久久久一区二区 | 国产一区二区电影在线观看 | 欧美极品少妇xxxx | 99免费在线视频 | 久久99精品久久久久久久久久久久 | 亚洲成人av在线电影 | 久久国产精品免费一区二区三区 | 久久影视一区二区 | 91亚洲夫妻 | 亚洲男男gⅴgay双龙 | 久久天天躁夜夜躁狠狠85麻豆 | 亚洲欧洲xxxx | 99国内精品 | 日韩精品资源 | 国产高清不卡在线 | 一级片视频免费观看 | 人人爽爽人人 | 精品久久久久一区二区国产 | 在线精品在线 | 久久一区二区三区超碰国产精品 | 免费网站观看www在线观看 | 亚洲视频在线视频 | 免费视频国产 | 久久精品视频网站 | 免费久久视频 | 日韩视频1区 | www.夜夜操| 特级毛片在线 | 中文电影网 | 天天躁天天躁天天躁婷 | 在线电影日韩 | 黄色国产成人 | 91色吧| 国产在线最新 | 91视频观看免费 | www日韩精品 | 九九久久影院 | 欧美日韩国产一区二区三区 | 狠狠干夜夜操 | 日本中文在线观看 | 国产黑丝袜在线 | 天天色天天射综合网 | 久精品视频在线 | 在线97| 午夜性盈盈 | 三级av在线免费观看 | 99精品在线看 | 91中文字幕在线 | 欧美日韩在线观看一区二区三区 | 六月色播 | 国产手机在线 | 久久国产成人午夜av影院宅 | 久草视频免费在线观看 | 久久激情综合 | 91大神一区二区三区 | 欧美日韩午夜在线 | 在线观看亚洲精品视频 | 999久久久精品视频 日韩高清www | 久久电影国产免费久久电影 | 日本xxxxav | 新版资源中文在线观看 | av 一区 二区 久久 | 婷婷丁香五 | 久久伊人五月天 | 男女拍拍免费视频 | 亚洲午夜久久久影院 | a级国产乱理论片在线观看 伊人宗合网 | 国产亚洲人成网站在线观看 | 成人av在线观 | 日本中文字幕在线免费观看 | 性色av免费在线观看 | 伊人色**天天综合婷婷 | 欧美日韩国产欧美 | 人人澡人人爱 | 一区二区三区免费在线 | 国产亚洲一区二区在线观看 | 久久精品久久综合 | 黄污网站在线观看 | 日韩午夜视频在线观看 | 免费能看的黄色片 | 国产免费专区 | 日韩高清免费观看 | 国产成a人亚洲精v品在线观看 | 国产四虎在线 | 麻豆av电影| 麻豆成人网 | 在线亚洲激情 | 深爱激情开心 | 久草电影免费在线观看 | 精品国产一区二区三区日日嗨 | 亚洲激情在线视频 | 亚洲日本欧美 | 一区二区三区在线观看中文字幕 | 91视频观看免费 | 久久综合狠狠综合久久综合88 | 亚洲久久视频 | 中文字幕在线观看视频一区二区三区 | 国产精品视频在线观看 | 亚洲精品在线资源 | 香蕉视频91 | 高清日韩一区二区 | 婷婷丁香激情网 | av一区二区三区在线观看 | 色婷丁香 | 婷婷成人亚洲综合国产xv88 | 亚洲乱码国产乱码精品天美传媒 | 久久久免费高清视频 | 一区二区三区韩国免费中文网站 | 国产又黄又爽无遮挡 | 在线精品在线 | 国产成人精品aaa | 制服丝袜天堂 | 精品久久久久久综合 | 日韩黄色中文字幕 | 中文字幕影片免费在线观看 | 亚洲少妇自拍 | 国产无套精品久久久久久 | 欧美国产大片 | 51久久夜色精品国产麻豆 | 久久久精品国产免费观看同学 | 欧美日韩免费在线观看视频 | 国产剧情av在线播放 | 免费a v观看 | 狠狠狠色丁香婷婷综合激情 | 日本少妇高清做爰视频 | 韩国视频一区二区三区 | www.日日日.com | 九九导航| 久草网在线 | 欧美一级片在线 | 最新av网站在线观看 | 国产v欧美 | a亚洲视频| 天天天综合 | 三上悠亚一区二区在线观看 | 96视频免费在线观看 | 欧美日韩99 | 亚洲欧美国产精品18p | 国产91精品高清一区二区三区 | 亚洲精品玖玖玖av在线看 | a亚洲视频| 日本大片免费观看在线 | 国产免费人成xvideos视频 | 视频一区二区精品 | 久久久国产精品视频 | 国产精品一区二区三区四 | 美女国内精品自产拍在线播放 | 美女视频黄免费的 | 亚洲精品资源 | 亚洲经典在线 | 婷婷免费在线视频 | 欧美日韩在线观看一区二区 | 久久久久久久久久久久久久免费看 | av黄色国产 | 国产成人一区二 | 国产精品99久久久精品 | 久久久精品高清 | www.五月婷婷 | 狠狠操狠狠操 | 久久免费激情视频 | 成人免费视频播放 | 九九视频免费观看视频精品 | 91成人黄色 | 天天操夜夜叫 | 日韩免费久久 | 日本九九视频 | 成人免费共享视频 | 国产在线中文 | 99久久综合狠狠综合久久 | 国产又粗又长又硬免费视频 | 96精品高清视频在线观看软件特色 | 国产一区二区免费在线观看 | 三级毛片视频 | 国产高清av| 欧美日韩高清国产 | 五月综合在线观看 | 久色免费视频 | 永久免费精品视频 | 亚洲免费不卡 | 6080yy午夜一二三区久久 | 91高清不卡| 久久国产系列 | 日韩精品1区2区 | 探花视频在线观看免费 | 中文字幕在线第一页 | 中文字幕免费观看 | 日韩精品免费在线观看视频 | 中文字幕在线观看的网站 | 日韩两性视频 | 国产成人亚洲在线观看 | 久久久黄色av | 日韩四虎| 国产免费二区 | 天天搞夜夜骑 | 在线免费看黄色 | 日本xxxxav| 久久99最新地址 | 久久综合一本 | 91精品久久久久久久99蜜桃 | 精品96久久久久久中文字幕无 | 五月婷av | 999精品 | 欧美一级特黄高清视频 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 国产在线观看91 | 欧美孕妇视频 | 亚洲精品视频在 | 日韩电影黄色 | 欧美精品v国产精品v日韩精品 | 99色精品视频 | 色欧美88888久久久久久影院 | 久久久99精品免费观看 | 视频在线在亚洲 | av在线播放网址 | 日日夜夜亚洲 | 亚洲国产精品成人综合 | 国产色黄网站 | av在线播放快速免费阴 | 狠狠狠狠狠操 | 日本丶国产丶欧美色综合 | 玖玖玖国产精品 | 国产精品久久久久久久久久免费看 | 天天爱天天草 | 在线视频观看成人 | 亚洲少妇天堂 | 久久午夜免费视频 | 天天色天天色 | 免费看污黄网站 | 久久福利影视 | 在线视频 成人 | 久久久久久久久久福利 | 国产一二区在线观看 | 日韩在线观看视频网站 | 看毛片网站 | 日韩| 高清av免费一区中文字幕 | 国产资源精品在线观看 | 黄视频色网站 | 国产日韩欧美在线免费观看 | 国产精品中文字幕在线 | 色噜噜噜噜 | 欧美日韩激情视频8区 | 久久久久国产精品www | 色多多视频在线观看 | 在线观看av大片 | 国产日韩欧美在线播放 | 婷婷播播网 | 日韩精品欧美专区 | 日韩免费一区二区在线观看 | 日韩a在线播放 | 九九久久久久久久久激情 | 国产91成人在在线播放 | 精品女同一区二区三区在线观看 | 久章操| 欧美色综合天天久久综合精品 | 2021国产精品视频 | 激情导航 | 久久久国产精品一区二区三区 | 激情综合网天天干 | 免费色网站 | 日韩v在线91成人自拍 | 日韩福利在线观看 | 97品白浆高清久久久久久 | 五月婷婷丁香 | 国产日韩精品在线 | 91中文字幕在线视频 | 久久视频网 | 国产精品涩涩屋www在线观看 | 日韩毛片在线一区二区毛片 | 欧美精品亚洲精品 | www.天天色.com | 色一级片| 成人久久久久久久久 | 亚洲精品国产精品久久99热 | 国产午夜精品在线 | 久久婷婷一区 | 欧美精品亚州精品 | 九九九九精品九九九九 | 中文字幕国产视频 | 日本性视频 | 一区二区精品在线观看 | 天天爱天天操天天干 | 久久久久久久久久网站 | 免费成人短视频 | 午夜视频在线观看网站 | 97超级碰碰 | 超碰九九| 热久久99这里有精品 | 天堂av在线中文在线 | 中文字幕电影一区 | 伊人久久国产 | 日韩精品中文字幕av | 色老板在线视频 | 日韩综合在线观看 | 丰满少妇在线观看网站 | 久久高清毛片 | 在线观看黄色免费视频 | 国产99久久久久久免费看 | 91片黄在线观 | 免费观看成年人视频 | 午夜久久电影网 | 不卡在线一区 | 欧美三级免费 | 国产真实精品久久二三区 | 中文在线字幕免费观 | 天堂在线免费视频 | www.色婷婷.com | 天天色宗合 | 99久久精品国产欧美主题曲 | 粉嫩一区二区三区粉嫩91 | 99视频黄| 日产乱码一二三区别在线 | 97爱 | 成年人免费看的视频 | 欧洲在线免费视频 | 久久xx视频| 亚洲影院国产 | 天天草天天草 | 操综合 | 99精品久久只有精品 | 99久久婷婷国产综合精品 | 日韩av影片在线观看 | 天天操天天干天天操天天干 | 亚洲一级电影视频 | 99久久精品久久久久久清纯 | 夜夜夜夜操 | 欧美日韩一区二区免费在线观看 | 中文字幕国产亚洲 | 人成午夜视频 | 99久久精品国产系列 | 麻豆精品传媒视频 | 韩国精品视频在线观看 | 人人草在线视频 | 99在线精品观看 | 亚洲精品久久久蜜桃直播 | 综合色久 | av一区二区三区在线 | 国产亚洲成av人片在线观看桃 | 91麻豆免费视频 | 日韩在线视频国产 | 骄小bbw搡bbbb揉bbbb| 99精品视频免费观看 | 射射射综合网 | 国产人成看黄久久久久久久久 | 国产黄色网| 99久久精品免费看国产免费软件 | 中文字幕在线不卡国产视频 | 97超碰总站| 成人精品视频久久久久 | 久久久久国产精品一区二区 | 视频99爱 | 日日操夜夜操狠狠操 | 久久免费99 | 亚洲黄色av网址 | 欧洲成人av | 激情欧美在线观看 | 国产精品久久中文字幕 | 国产日韩欧美视频 | 天堂视频中文在线 | 91成人破解版 | 99亚洲精品在线 | 五月天婷亚洲天综合网鲁鲁鲁 | 欧美另类性| 在线免费观看的av网站 | 在线免费观看羞羞视频 | 国产aa精品| 久久高清免费视频 | 亚洲成av人电影 | 欧美大片在线观看一区 | 欧美精品二 | 精品久久久99 | 9i看片成人免费看片 | 久久99精品久久久久蜜臀 | 国产亚洲精品久久久久久 | 久久高清 | 中文一区二区三区在线观看 | 美女久久久 | 三级黄色理论片 | 国产精品毛片一区二区 | 天堂在线视频免费观看 | 天天操天天爽天天干 | 中国一级片在线 | 91精品久久久久久久久久久久久 | 国内精品久久久久国产 | 国产91av视频在线观看 | 夜色在线资源 | 天天av资源 | 成人一级片在线观看 | 午夜av在线免费 | av无限看 | 亚洲精品一区二区网址 | 色先锋av资源中文字幕 | 中文字幕高清视频 | 亚州黄色一级 | 波多野结衣视频一区二区三区 | 2023国产精品自产拍在线观看 | 亚洲国产97在线精品一区 | 又污又黄网站 | 中文字幕第一页av | 激情av网址| 国产精品2020 | 国产一区二区在线影院 | 操操操夜夜操 | 久草资源免费 | 国产一区视频在线观看免费 | 中文字幕在线观看免费 | 欧美激情综合网 | 久久久久高清毛片一级 | 91精品一区国产高清在线gif | 日本韩国精品一区二区在线观看 | 国产一级二级在线观看 | 婷婷5月色 | 在线观看 国产 | 蜜臀aⅴ国产精品久久久国产 | 香蕉网在线| 五月综合婷 | 手机看国产毛片 | 一区二区三区免费在线观看 | 日韩在线观看中文 | 久久久久99精品成人片三人毛片 | 亚洲精品免费在线 | 亚洲精品看片 | 日韩电影一区二区三区在线观看 | 国模视频一区二区 | 日韩r级在线 | 97超碰人人澡人人 | 97国产精品亚洲精品 | 亚洲综合欧美日韩狠狠色 | 欧美精品久久久久久久亚洲调教 | 日本久草电影 | 中文字幕在线观看免费高清电影 | 亚洲成人中文在线 | 午夜精品久久久99热福利 | 精品一区二区影视 | 国产一区在线免费 | 亚洲精品一区二区18漫画 | 福利视频一二区 | 在线观看香蕉视频 | 国产一区二区综合 | 日韩欧美一区二区三区在线观看 | 久久精品www人人爽人人 | 999久久久欧美日韩黑人 | 黄色小说免费在线观看 | 免费在线观看一级片 | 欧洲精品视频一区 | 正在播放国产一区 | 免费日韩三级 | 高清免费在线视频 | 91成人区| 91久草视频| 超碰在线日本 | 在线观看亚洲电影 | 婷婷免费视频 | 五月天激情电影 | 婷婷视频在线播放 | 午夜精品一区二区三区在线视频 | 久久久精品 一区二区三区 国产99视频在线观看 | 91看成人 | 九色精品免费永久在线 | 免费十分钟 | 天天鲁一鲁摸一摸爽一爽 | 91在线精品视频 | 国产一区二区午夜 | 欧美色久| 亚洲成人资源在线观看 | 97看片网 | 免费在线91| 99视频精品免费观看, | 婷婷六月激情 | 91免费国产在线观看 | 91最新网址| 热久久影视 | 18网站在线观看 | 亚洲热久久 | 国产精品短视频 | 日本一区二区三区免费看 | 日日操天天操狠狠操 | av免费看网站 | 综合色综合 | 在线看片成人 | 国产精品视屏 | 精品超碰 | 久久精品日产第一区二区三区乱码 | 一区二区三区四区免费视频 | 热久久影视| 中文字幕在线视频第一页 | 国产黄在线免费观看 | 成全免费观看视频 | 日韩理论在线视频 | 国产精品一区二区免费看 | 亚洲成人午夜在线 | 国产麻豆精品久久一二三 | 日韩 在线 | 免费网站v | 欧美整片sss| 成人av久久 | 日韩精品一区二区免费 | 97综合在线 | 怡春院av| 国产精品久久片 | 91在线色| 亚洲综合激情网 | 久久精彩 | 婷婷国产一区二区三区 | 久久伊人精品一区二区三区 | 在线观看av免费 | 超碰人人草人人 | 一区二区三区四区久久 | 亚洲人天堂 | 久久高清毛片 | 91视频大全 | 欧洲精品久久久久毛片完整版 | 夜夜爽www | 337p日本大胆噜噜噜噜 | 91精品老司机久久一区啪 | 麻豆久久 | 日韩aⅴ视频 | 久久永久视频 | 成人四虎 | 国产高清99 | 在线亚洲人成电影网站色www | 国产麻豆成人传媒免费观看 | 国产精品18videosex性欧美 | 久久精品视频免费 | 国精产品永久999 | 天天干天天做天天爱 | 最新不卡av | aav在线| 免费91麻豆精品国产自产在线观看 | 免费观看91 | 手机看片1042 | 国产视频在线看 | 久久韩国免费视频 | 色综合天天狠天天透天天伊人 | av电影中文 | 久久久国产精品一区二区三区 | 91高清免费在线观看 | 97人人艹 | 91精品伦理 | 狠狠色丁香婷婷综合久小说久 | 狠狠干狠狠操 | 日操操 | 国产精品一区二区久久精品 | 国产在线日本 | 欧美日韩3p | 中文字幕资源站 | 国产精品久久久久久超碰 | 亚洲精品1234区 | 中文字幕 国产专区 | 日韩三级久久 | 午夜在线免费观看视频 | 国产一区二区三区高清播放 | 色综合久久综合网 | 在线观看日韩中文字幕 | 五月婷婷一区二区三区 | 国产精品成人自产拍在线观看 | 国产91aaa | 久久国产精品免费看 | 久久人人爽av | 久久久福利 | 国产精品电影在线 | 69国产精品成人在线播放 | 人人玩人人添人人 | 亚洲精品乱码白浆高清久久久久久 | 国产精品一区二区av麻豆 | 精品久久久久久一区二区里番 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 欧美国产不卡 | 久久极品 | 香蕉日日| 国产成人精品久久二区二区 | 免费男女羞羞的视频网站中文字幕 | 久久久午夜电影 | 九九九九免费视频 | 九色免费视频 | 日韩中文字幕在线不卡 | 日韩av电影手机在线观看 | 国产精品久久电影网 | 国产美女主播精品一区二区三区 | 国产 日韩 欧美 中文 在线播放 | 麻豆视频国产 | 天天色天天 | 在线观看黄色av | 天天干夜夜想 | 日韩在线视频在线观看 | 欧美日韩不卡在线视频 | 日韩av男人的天堂 | 日本在线观看一区二区 | 一区二区三区国 | 久久久私人影院 | 国产精品区免费视频 | 久草在线观看视频免费 | 高清av影院| 亚洲伊人网在线观看 | 美女激情影院 | 91日韩在线播放 | 一区二区三区国产精品 | 欧美一进一出抽搐大尺度视频 | 91成人免费| 免费色视频网址 | 特级毛片网站 | 久久8| 久久久久久国产精品免费 | 国产第一页精品 | 91精品视频在线观看免费 | 欧美精品久久久久 | 99热这里有 | 日韩性久久 | 欧美成人va| 波多野结衣电影一区二区 | 久久精品一区二区三 | 久久国产热视频 | 99热超碰在线 | 精品国产欧美一区二区三区不卡 | 黄色成品视频 | 中文字幕中文字幕在线中文字幕三区 | 久久国产精品小视频 | 91成人亚洲 | 日韩欧美视频一区二区三区 | 九九九九九精品 | av在线电影网站 | 国产r级在线观看 | a在线观看视频 | 婷婷九九 | 国产资源在线播放 | 日韩字幕在线观看 | 婷婷六月网| 亚洲精品456在线播放 | 99久久精品一区二区成人 | 永久中文字幕 | 国产午夜免费视频 | 99视频在线观看免费 | 日韩在线电影 | 亚洲精品视频网站在线观看 | 亚洲h在线播放在线观看h | 亚洲区视频在线 | 美女免费视频一区 | 精品国产91亚洲一区二区三区www | 久久久久久久久久久黄色 | 日韩中文字幕免费 | 亚洲欧美激情精品一区二区 | 最新国产精品拍自在线播放 | 中文字幕在线观看视频一区 | 超碰午夜 | 午夜av电影院 | 欧美一区二区精美视频 | 久久99视频免费 | 奇人奇案qvod | 亚洲毛片一区二区三区 | 日韩欧美在线综合网 | 天天射综合网视频 | 五月婷婷综合在线观看 | 国内精品福利视频 | 日韩va欧美va亚洲va久久 | 99热在线精品观看 | 欧美一级片播放 | 久久久久久久久久福利 | 日韩av中文在线观看 | 日本精品xxxx| 久久久国产在线视频 | 国产片网站 | 亚洲精品男人的天堂 | 久久激情久久 | 超碰最新网址 | 久久国产网站 | 一级黄色电影网站 | 久草视频在线新免费 | 狠狠ri| 日韩性片| 国产在线观看污片 | 国产视频每日更新 | 天天躁日日躁狠狠躁av麻豆 | 国产成人免费高清 | 亚洲精品视频免费看 | 一区二区欧美在线观看 | 久久久久一区二区三区四区 | 婷婷六月丁香激情 | 欧美孕妇视频 | 色.www| 久久一区二区三区国产精品 | 亚洲欧美日韩精品久久久 | 安徽妇搡bbbb搡bbbb | 午夜精品视频福利 | 五月色综合 | 日本视频网 | 一区二区伦理电影 | 国产亚洲精品久久久久久久久久 | 成人国产精品久久久久久亚洲 | 久草综合在线 | 亚洲欧美日韩在线一区二区 | 99久久精品久久久久久清纯 | 久 久久影院 | 狠狠色丁香婷婷综合久久片 | 中文字幕日本在线 | 国产精品久久久久久久久久不蜜月 | 日韩在线免费不卡 | 人人爽人人澡人人添人人人人 | 啪啪动态视频 | 久久精品一二三区白丝高潮 | 五月婷婷丁香在线观看 | 日韩亚洲在线观看 | 日韩欧美视频一区二区 | 国产精品9区 | 国产精品毛片一区视频播不卡 | 欧美一级视频在线观看 | 一区二区三区日韩精品 | 最近中文字幕第一页 | 久久久久久久免费观看 | 欧美激情视频一区二区三区免费 | 午夜精品久久久久久久99无限制 | 欧美精品xxx | 色噜噜在线观看视频 | 97在线观看免费高清完整版在线观看 | 久久另类小说 | 最新国产一区二区三区 | 成人黄色小说在线观看 | 91精品视频一区 | 十八岁以下禁止观看的1000个网站 | 亚洲视频网站在线观看 | 亚洲视频99 | 精品亚洲欧美一区 | 婷婷看片| 国产色资源 | 久草在线看片 | 亚洲国内精品在线 | 在线午夜av | 日韩中文字幕a | 免费日韩 精品中文字幕视频在线 | 亚洲精品一区二区三区四区高清 | 久久综合久久综合这里只有精品 | 久久国产精彩视频 | 国产黄色在线观看 | 国产日韩欧美在线免费观看 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 国产又粗又长又硬免费视频 | 日韩精品免费在线观看视频 | 国产小视频免费在线网址 | 91看片在线 | 婷婷网在线 | 欧美性春潮 | 97视频入口免费观看 | 免费观看性生活大片3 | 男女靠逼app | 全久久久久久久久久久电影 | 欧美伦理一区二区三区 | 日日碰狠狠添天天爽超碰97久久 | 91天堂素人约啪 | 国产精品久久久久久一区二区三区 | 超碰在线97国产 | 久久久久蜜桃 | 91麻豆精品国产自产在线游戏 | 成人av免费看 | av免费片 | 亚洲区精品视频 | 亚洲精品网站 | 天天色天天射天天综合网 | 午夜在线观看影院 | 日韩欧美电影在线观看 | 久久午夜电影 | 亚洲黄色av网址 | 国内精品小视频 | 久久麻豆精品 | 精品日韩中文字幕 | 看片网站黄 | 国产无套精品久久久久久 | 日韩欧美在线综合网 | 波多野结衣一区 | 亚洲专区中文字幕 | 丁香六月伊人 | 456成人精品影院 | 天天干中文字幕 | 日韩理论片在线 | 国产一区欧美日韩 | 国产人成一区二区三区影院 | av网站有哪些 | 天堂av免费看 | 中文字幕久久精品亚洲乱码 | 成人免费大片黄在线播放 | 91桃色视频 | 久久综合精品一区 | 国产69精品久久99的直播节目 | x99av成人免费 | 超碰在线观看99 | 国产精品一区二区三区视频免费 | 国产资源在线播放 | 国内精品亚洲 | 日韩在线观看你懂得 | 一区二区三区四区五区六区 | 狠狠色丁香久久婷婷综合五月 | 日本精品视频免费 | 九九免费在线观看 | 久久伊人五月天 | 亚洲日本欧美 | 看全黄大色黄大片 | 精品伦理一区二区三区 | 久久国产成人午夜av影院宅 | 日韩av片无码一区二区不卡电影 | 久久免费视频在线观看6 | 久久欧洲视频 | 永久av免费在线观看 | 国产精品麻豆三级一区视频 | 免费在线观看的av网站 | 亚洲成人动漫在线观看 | 天天操狠狠操 | 亚洲国产精品一区二区久久,亚洲午夜 | 精品一区二区三区在线播放 | 992tv又爽又黄的免费视频 | 国产一级片视频 | 五月天综合 | 国产精品女主播一区二区三区 | 91丨九色丨勾搭 | 激情综合国产 | 一区二区三区电影在线播 | 国产精品理论片在线观看 | 久久综合免费 | 丁香五月亚洲综合在线 | 日本大尺码专区mv | 色婷婷骚婷婷 | 日韩av一区二区在线影视 | 成人黄色在线电影 | 国产小视频精品 | 国产粉嫩在线观看 | 超碰公开97| 色99网| 欧美日韩精品国产 | 在线看片一区 | 肉色欧美久久久久久久免费看 | 日韩在线观看你懂得 | 亚洲精品tv | 国产成人一二片 | 91精品国产九九九久久久亚洲 | 欧美日韩色婷婷 | 欧美日韩国产伦理 | 色综合久久综合网 | 婷婷伊人综合亚洲综合网 | 欧美日产一区 | 免费精品| 亚洲一区二区三区四区在线视频 | 免费日韩 精品中文字幕视频在线 | 1000部18岁以下禁看视频 | 手机av观看 | 国产一区黄色 | adc在线观看 | 伊人久久电影网 | 免费在线激情电影 | 国产一区二区成人 | 三级免费黄色 | 亚洲成免费| 狠狠狠干狠狠 | 日韩综合在线观看 | 欧美精品亚洲精品日韩精品 | 国产伦理一区二区 | 麻豆va一区二区三区久久浪 | 激情综合网五月激情 | 日韩在线视频在线观看 | 日日操网站 | 国产一区国产二区在线观看 | 成人小视频在线观看免费 | 一区二区三区四区精品视频 | 日本精品久久久久中文字幕5 | 成人av一区二区三区 | www免费看片com | 蜜臀av性久久久久蜜臀aⅴ四虎 |