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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C/C++ 线程三种并发方式比较(传统互斥量加锁方式, no lock不加锁的方式, 原子函数方式)

發布時間:2025/3/15 c/c++ 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C/C++ 线程三种并发方式比较(传统互斥量加锁方式, no lock不加锁的方式, 原子函数方式) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

執行速度結果:

  • 傳統互斥量加鎖方式 <?no lock不加鎖的方式 <?原子函數方式

正文如下:

最近編碼需要實現多線程環境下的計數器操作,統計相關事件的次數。下面是一些學習心得和體會。不敢妄稱原創,基本是學習筆記。遇到相關的引用,我會致謝。
??? 當然我們知道,count++這種操作不是原子的。一個自加操作,本質是分成三步的:
?????1 從緩存取到寄存器
???? 2 在寄存器加1
???? 3 存入緩存。

mov eax,dword ptr [a]

add eax,1

mov dword ptr [a],eax


由于時序的因素,多個線程操作同一個全局變量,會出現問題。這也是并發編程的難點。在目前多核條件下,這種困境會越來越彰顯出來。
最簡單的處理辦法就是加鎖保護
,這也是我最初的解決方案??聪旅娴拇a:

pthread_mutex_t count_lock = PTHREAD_MUTEX_INITIALIZER;pthread_mutex_lock(&count_lock);global_int++;pthread_mutex_unlock(&count_lock); linux 變量 : pthread_mutex_t linux 函數 : pthread_mutex_lock; pthread_mutex_unlock

后來在網上查找資料,找到了__sync_fetch_and_add系列的命令

?????__sync_fetch_and_add系列一共有十二個函數,有加/減/與/或/異或/等函數的原子性操作函數,

__snyc_fetch_and_add : 先fetch然后自加,返回的是自加以前的值 __snyc_add_and_fetch : 先自加然后返回,返回的是自加以后的值 (參照 ++i 和 i++)__snyc_fetch_and_add的一個簡單使用 int count = 4; __sync_fetch_and_add(&count, 1); // __sync_fetch_and_add(&count, 1) == 4 cout<<count<<endl; //--->count=5

?對于多線程對全局變量進行自加,我們就再也不用理線程鎖了。

下面這行代碼,和上面被pthread_mutex保護的那行代碼作用是一樣的,而且也是線程安全的。

__sync_fetch_and_add( &global_int, 1 );

下面是這群函數的全家福,大家看名字就知道是這些函數是干啥的了。

//在用gcc編譯的時候要加上選項 -march=i686
type __sync_fetch_and_add (type *ptr, type value, ...);
type __sync_fetch_and_sub (type *ptr, type value, ...);
type __sync_fetch_and_or (type *ptr, type value, ...);
type __sync_fetch_and_and (type *ptr, type value, ...);
type __sync_fetch_and_xor (type *ptr, type value, ...);
type __sync_fetch_and_nand (type *ptr, type value, ...);
type __sync_add_and_fetch (type *ptr, type value, ...);
type __sync_sub_and_fetch (type *ptr, type value, ...);
type __sync_or_and_fetch (type *ptr, type value, ...);
type __sync_and_and_fetch (type *ptr, type value, ...);
type __sync_xor_and_fetch (type *ptr, type value, ...);
type __sync_nand_and_fetch (type *ptr, type value, ...);

__sync_fetch_and_add,速度是線程鎖的6~7倍

type可以是1,2,3或者8字節長度的int類型,即

int8_t ? ?
uint8_t

int16_t
uint16_t

int32_t
uint32_t

int64_t
uint64_t

后面的可擴展參數(...)用來指出哪些變量需要memory barrier,因為目前gcc實現的是full barrier(類似于linux kernel 中的mb(),表示這個操作之前的所有內存操作不會被重排序到這個操作之后),所以可以略掉這個參數。

恩.再找個帖子學習學習.http://blog.csdn.net/hzhsan/article/details/25124901

有一個概念叫過無鎖化編程,?知道linux支持的哪些操作是具有原子特性的是理解和設計無鎖化編程算法的基礎

除了上面提到的12個外 還有4個可以實現互斥鎖的功能

//以下兩個函數提供原子的比較和交換, 如果*ptr = oldValue, 就將newValue寫入*ptr //第一個函數在相等并寫入的情況下返回true //第二個函數返回操作之前的值bool __sync_bool_compare_and_swap(type* ptr, type oldValue, type newValue, ....);type __sync_val_compare_and_swap(type* ptr, type oldValue, type newValue, ....);//將*ptr設為value并返回*ptr操作之前的值 type __sync_lock_test_and_set(type *ptr, type value, ....);//置*ptr為0 void __sync_lock_release(type* ptr, ....); __sync_synchronize(...)//作用 : 發出一個full barrier /*關于memory barrier,cpu會對我們的指令進行排序,一般說來會提高程序的效率,但有時候可能造成我們不希望得到的結果,舉一個例子,比如我們有一個硬件設備,它有4個寄存器,當你發出一個操作指令的時候,一個寄存器存的是你的操作指令(比如READ),兩個寄存器存的是參數(比如是地址和size),最后一個寄存器是控制寄存器,在所有的參數都設置好之后向其發出指令,設備開始讀取參數,執行命令,程序可能如下:*/ write1(dev.register_size, size); write1(dev.register_addr, addr); write1(dev.register_cmd, Read); write1(dev.register_control, GO); /*如果最后一條write1被換到了前幾條語句之前,那么肯定不是我們所期望的,這時候我們可以在最后一條語句之前加入一個memory barrier,強制cpu執行完前面的寫入以后再執行最后一條:*/ write1(dev.register_size, size); write1(dev.register_addr, addr); write1(dev.register_cmd, Read); __sync_synchronize(); write1(dev.register_control, GO);//memory barrier有幾種類型: //acquire barrier : 不允許將barrier之后的內存讀取指令移到barrier之前(linux kernel中的wmb()) //release barrier : 不允許將barrier之前的內存讀取指令移到barrier之后 (linux kernel中的rmb()) //full barrier : 以上兩種barrier的合集(linux kernel中的mb())//好吧,說實話這個函數的說明基本沒看懂

最后從網上找一個代碼寫一寫:http://blog.csdn.net/hzhsan/article/details/25837189

測試場景:假設有一個應用:現在有一個全局變量,用來計數,再創建10個線程并發執行,每個線程中循環對這個全局變量進行++操作(i++),循環加2000000次。

所以很容易知道,這必然會涉及到并發互斥操作下面通過三種方式[傳統互斥量加鎖方式, no lock不加鎖的方式, 原子函數方式]來實現這種并發操作。并對比出其在效率上的不同之處。

這里先貼上代碼,共5個文件:2個用于做時間統計的文件:timer.h? timer.cpp。這兩個文件是臨時封裝的,只用來計時,可以不必細看。

//timer.h 用于計時#ifndef TIMER_H_ #define TIMER_H_#include <sys/time.h>class Timer {public:Timer();Timer(const Timer& t) = delete;~Timer();void start();void stop();void reset();double costTime();private: struct timeval t1;struct timeval t2;bool b1, b2; }; #endif //timer.cpp #include "timer.h" #include <iostream>using namespace std;Timer::Timer():b1(false), b2(false) { } Timer::~Timer() { } void Timer::start() {gettimeofday(&t1, NULL);b1 = true;b2 = false; } void Timer::stop() {gettimeofday(&t2, NULL);b2 = true; } void Timer::reset() {b1 = false;b2 = false; } double Timer::costTime() {if (!b1){cout<<"error, do not call function start()"<<endl;cout<<"the right sequence : start() ..... stop() costTime()"<<endl;return 0;}if (!b2){cout<<"error, do not call function stop()"<<endl;cout<<"the right sequence : start() ..... stop() costTime()"<<endl;return 0;}size_t sec = t2.tv_sec - t1.tv_sec; double usec = t2.tv_usec - t1.tv_usec;if (sec < 0) {cout<<"error, call stop() before start()"<<endl;cout<<"the right sequence : start() ..... stop() costTime()"<<endl;return 0;}if (usec < 0){usec += 1000000;--sec;if (sec < 0) {cout<<"error, call stop() before start()"<<endl;cout<<"the right sequence : start() ..... stop() costTime()"<<endl;return 0;}}return sec + usec * 1.0 / 1000000; } //thread_function.h -->多線程要調用的函數 #ifndef THREAD_FUNCTION_H_ #define THREAD_FUNCTION_H_ void* thread_lock_execFunc(void* arg); void* thread_nolock_execFunc(void* arg); void* thread_atom_execFunc(void* arg); #endif //thread_function.cpp #include "thread_function.h" #include "lock.h" #include <pthread.h> #include <unistd.h>extern volatile int count; struct LOCK;void* thread_lock_execFunc(void* arg) {for (int i = 0; i < 2000000; ++i){pthread_mutex_lock(reinterpret_cast<pthread_mutex_t*>(arg));++count;pthread_mutex_unlock(reinterpret_cast<pthread_mutex_t*>(arg));}return NULL; }void* thread_nolock_execFunc(void* arg) {LOCK* pLock = reinterpret_cast<LOCK*>(arg);for (int i = 0; i < 2000000; ++i){while(!(__sync_bool_compare_and_swap(&(pLock->mutex), pLock->use, 1))){usleep(100000);}++count;__sync_bool_compare_and_swap(&(pLock->mutex), pLock->unUse, 0);}return NULL; }void* thread_atom_execFunc(void* arg) {for (int i = 0; i < 2000000; ++i){__sync_fetch_and_add(&count, 1);}return NULL; } //lock.h --->給mainnolock.cpp使用的類 #ifndef LOCK_H_ #define LOCK_H_ struct LOCK {int mutex;int use;int unUse;LOCK() : mutex(0), use(0), unUse(1){} }; #endif //mainlock.cpp 使用mutex加鎖方式的多線程 #include <iostream> #include <pthread.h> #include <iomanip>#include "timer.h" #include "thread_function.h"using namespace std;pthread_mutex_t mutex_lock; volatile int count = 0;int main( int argc, char** argv) {pthread_mutex_init(&mutex_lock, NULL);Timer timer;timer.start();/*test thread begin*/pthread_t thread_ids[10];for (int i = 0; i < sizeof(thread_ids)/sizeof(pthread_t); ++i){pthread_create(&thread_ids[i], NULL, thread_lock_execFunc, &mutex_lock);}for (int i = 0; i < sizeof(thread_ids)/sizeof(pthread_t); ++i){pthread_join(thread_ids[i], NULL);}/*test thread end*/timer.stop();cout<<setiosflags(ios::fixed)<<setprecision(4)<<"lock cost["<<timer.costTime()<<"]second"<<endl;return 0; } //main_nolock.cpp 使用__sync_compare_and_swap的多線程 #include <iostream> #include <pthread.h> #include <unistd.h> #include <iomanip> #include "timer.h" #include "thread_function.h" #include "lock.h"using namespace std;volatile int count = 0;int main(int argc, char** argv) {LOCK lock;Timer timer;timer.start();/*test thread begin*/pthread_t thread_ids[10];for (int i = 0; i < sizeof(thread_ids) / sizeof(pthread_t); ++i){pthread_create(&thread_ids[i], NULL, thread_nolock_execFunc, &lock);}for (int i = 0; i < sizeof(thread_ids) / sizeof(pthread_t); ++i){pthread_join(thread_ids[i], NULL);}/*test thread end*/timer.stop();cout<<setiosflags(ios::fixed)<<setprecision(4)<<"nolock cost["<<timer.costTime()<<"]\n"; return 0; } //main_atomic.cpp 使用__sync_fetch_and_add的多線程 #include<iostream> #include<pthread.h> #include<unistd.h> #include<iomanip> #include "timer.h" #include "thread_function.h"using namespace std;volatile int count = 0;int main(int argc, char** argv) {Timer timer;timer.start();/*pthread begin*/pthread_t thread_ids[10];for (int i = 0; i < sizeof(thread_ids)/sizeof(pthread_t); ++i){pthread_create(&thread_ids[i], NULL, thread_atom_execFunc, NULL);}for (int i = 0; i < sizeof(thread_ids)/sizeof(pthread_t); ++i){pthread_join(thread_ids[i], NULL);}/*pthread end*/timer.stop();cout<<setiosflags(ios::fixed)<<setprecision(4)<<"atomic cost["<<timer.costTime()<<"]\n";return 0; } //makefileCC = g++ CFLAGS = -g -lpthread -std=c++11OBJS_LOCK = main_lock.o timer.o thread_function.o OBJS_UNLOCK = main_nolock.o timer.o thread_function.o OBJS_ATOMICLOCK = main_atomic.o timer.o thread_function.oINC = timer.h thread_function.h lock.hlock : $(OBJS_LOCK) $(INC) $(CC) -o mainlock $(OBJS_LOCK) $(CFLAGS)rm *.onolock : $(OBJS_UNLOCK) $(INC)$(CC) -o mainnolock $(OBJS_UNLOCK) $(CFLAGS)rm *.oatomiclock : $(OBJS_ATOMICLOCK) $(INC)$(CC) -o mainatomic $(OBJS_ATOMICLOCK) $(CFLAGS)main_lock.o : main_lock.cpp $(CC) -c main_lock.cpp $(CFLAGS)main_nolock.o : main_nolock.cpp $(CC) -c main_nolock.cpp $(CFLAGS)main_atomic.o : main_atomic.cpp$(CC) -c main_atomic.cpp $(CFLAGS)timer.o : timer.cpp $(CC) -c timer.cpp $(CFLAGS)thread_function.o : thread_function.cpp$(CC) -c thread_function.cpp $(CFLAGS)clean:rm *.o

執行makefile

make lock

make nolock

make atomiclock

然后生成3個可執行文件

運行這3個可執行文件:

另外:針對main_nolock.cpp而言,作者提到了一個現象

在thread_function.cpp中, 隨著一下代碼的改變,運行時間會有變化

while (!(__sync_bool_compare_and_swap (&mutex,lock, 1) ));?

while (!(__sync_bool_compare_and_swap (&mutex,lock, 1) )) usleep(1);

while (!(__sync_bool_compare_and_swap (&mutex,lock, 1) ))usleep(10);

while (!(__sync_bool_compare_and_swap (&mutex,lock, 1) ))usleep(100);

while (!(__sync_bool_compare_and_swap (&mutex,lock, 1) ))usleep(1000);

while (!(__sync_bool_compare_and_swap (&mutex,lock, 1) ))usleep(10000);

while (!(__sync_bool_compare_and_swap (&mutex,lock, 1) ))usleep(100000);

執行時間的關系是 ?: ? ?T(;)<T(1)<T(10)<T(100)<T(1000)<T(10000)>T(100000)

?通過編程測試及測試得出結論:
1、如果是想用全局變量來做統計操作。而又不得不考慮多線程間的互斥訪問的話,最好使用編譯器支持的原子操作函數。再滿足互斥訪問的前提下,編程最簡單,效率最高。

2、lock-free,無鎖編程方式確實能夠比傳統加鎖方式效率高。所以在高并發程序中采用無鎖編程的方式可以進一步提高程序效率。但是得對無鎖方式有足夠熟悉的了解,不然效率反而會更低而且容易出錯。(比如在某些情況下main_nolock比main_lock的效率還要低)

在學習一個無鎖化編程的分析帖子?http://blog.csdn.net/hzhsan/article/details/25141421

Lock-free 算法通常比基于鎖的算法要好:

  • 從其定義來看,它們是 wait-free 的,可以確保線程永遠不會阻塞。
  • 狀態轉變是原子性的,以至于在任何點失敗都不會惡化數據結構。
  • 因為線程永遠不會阻塞,所以當同步的細粒度是單一原子寫或比較交換時,它們通??梢詭砀叩耐掏铝?/strong>。
  • 在某些情況下,lock-free 算法會有更少的同步寫操作(比如 Interlocked 操作),因此純粹從性能來看,它可能更便宜。

但是 lock-freedom 并不是萬能藥。下面是一些很明顯的不利因素:

  • 樂觀的并發使用會對 hot data structures 導致 livelock。
  • 代碼需要大量困難的測試。通常其正確性取決于對目標機器內存模型的正確解釋。
  • 基于眾多原因,lock-free 代碼很難編寫和維護

無鎖編程主要是使用原子操作替代鎖來實現對共享資源的訪問保護,舉個例子,要對某個整數變量進行加1操作的話,用鎖保護操作的代碼如下:

int a = 0;

Lock();

a+= 1;

Unlock();

如果對上述代碼反編譯可以發現 a+=1;被翻譯成了以下三條匯編指令:

mov eax,dword ptr [a]

add eax,1

mov dword ptr [a],eax

如果在單核系統中,由于在上述三條指令的任何一條執行完后都可能發生任務切換,比如執行完第1條指令后就發生了任務切換,這時如果有其他任務來對a進行操作的話,當任務切換回來后,將繼續對a進行操作,很可能出現不可預測的結果,因此上述三條指令必須使用鎖來保護,以使這段時間內其他任務無法對a進行操作。

需要注意的是,在多核系統中,因為多個CPU核在物理上是并行的,可能發生同時寫的現象;所以必須保證一個CPU核在對共享內存進行寫操作時,其他CPU核不能寫這塊內存。因此在多核系統中和單核有區別,即使只有一條指令,也需要要加鎖保護。

如果使用原子操作來實現上述加1操作的話,例如使用VC里的InterlockedIncrement來操作的話,那么對a的加1操作需要以下語句

InterlockedIncrement (&a);

這條語句最終的實際加1操作會被翻譯成以下一條帶lock前綴的匯編指令:

lock xadd dword ptr [ecx],eax

使用原子操作時,在進行實際的寫操作時,使用了lock指令,這樣就可以阻止其他任務寫這塊內存,避免出現數據競爭現象。原子操作速度比鎖快,一般要快一倍以上。

使用lock前綴的指令實際上在系統中是使用了內存柵障(memory barrier),當原子操作在進行時,其他任務都不能對內存操作,會影響其他任務的執行。因此這種原子操作實際上屬于一種激烈競爭的鎖,不過由于它的操作時間很快,因此可以看成是一種極細粒度鎖。

在無鎖(Lock-free)編程環境中,主要使用的原子操作為CAS(Compare and Swap)操作,在VC里對應的操作為InterlockedCompareExchange或者InterlockedCompareExchangeAcquire;如果是64位的操作,需要使用InterlockedCompareExchange64或者InterlockedCompareExchangeAcquire64。使用這種原子操作替代鎖的最大的一個好處是它是非阻塞的。

?

比較項目

無鎖編程

分布式編程

1

加速比性能

取決于競爭方式,除非也采用分布式競爭,否則不如分布式鎖競爭的性能

加速比和CPU核數成正比關系,接近于單核多任務時的性能

2

實現的功能

有限

不受限制

3

程序員掌握難易程度

難度太高,過于復雜,普通程序員無法掌握,目前世界上只有少數幾個人掌握。

和單核時代的數據結構算法難度差不多,普通程序員可以掌握

4

現有軟件的移植

使用無鎖算法后,以往的算法需要廢棄掉,無法復用

可以繼承已有的算法,在已有程序基礎上重構即可。

從上表的四個方面的綜合比較可以看出,無鎖編程的實用價值是遠遠不如分布式編程的,因此分布式編程比無鎖編程更適合多核CPU系統

可在分布計算機系統的幾臺計算機上同時協調執行的程序設計方法,分布式程序設計的主要特征是分布和通信。采用分布式程序設計方法設計程序時,一個程序由若干個可獨立執行的程序模塊組成。這些程序模塊分布于一個分布式計算機系統的幾臺計算機上同時執行。分布在各臺計算機上的程序模塊是相互關聯的,它們在執行中需要交換數據,即通信。只有通過通信,各程序模塊才能協調地完成一個共同的計算任務。采用分布式程序設計方法解決計算問題時,必須提供用以進行分布式程序設計的語言和設計相應的分布式算法。分布式程序設計語言與常用的各種程序設計語言的主要區別,在于它具有程序分布和通信的功能。因此,分布式程序設計語言,往往可以由一種程序設計語言增加分布和通信的功能而構成。分布式算法和適用于多處理器系統的并行算法,都具有并行執行的特點,但它們是有區別的。設計分布式算法時,必須保證實現算法的各程序模塊間不會有公共變量,它們只能通過通信來交換數據。此外,設計分布式算法時,往往需要考慮堅定性,即當系統中幾臺計算機失效時,算法仍是有效的。

總結

以上是生活随笔為你收集整理的C/C++ 线程三种并发方式比较(传统互斥量加锁方式, no lock不加锁的方式, 原子函数方式)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

夜夜操综合网 | 日躁夜躁狠狠躁2001 | 欧美激情片在线观看 | 国产黄色片一级三级 | 天堂av在线免费观看 | 欧美黑人巨大xxxxx | 毛片视频电影 | 在线观看网站av | 亚洲情感电影大片 | 日韩理论电影在线 | 日韩午夜小视频 | 成人黄色毛片 | 福利一区在线视频 | 麻豆传媒一区二区 | 高清不卡一区二区三区 | 色婷婷狠狠五月综合天色拍 | 国产精品一区二区吃奶在线观看 | 国产精品一区二区三区久久 | 国产精品自拍在线 | 久久精品国产一区二区三区 | 激情婷婷 | 精壮的侍卫呻吟h | 国产生活一级片 | 美女视频久久黄 | 国产精品久久99综合免费观看尤物 | 日韩av成人 | 久久视频网 | 激情开心站 | 香蕉视频在线免费看 | 不卡av在线免费观看 | 色婷婷一区 | 一区二区三区日韩视频在线观看 | 视频99爱| 依人成人综合网 | 中文字幕资源在线 | 美女黄频视频大全 | 国产黄色美女 | 国产成人一区二 | 91亚洲精品乱码久久久久久蜜桃 | 中文字幕av免费 | 国产精品美女网站 | 国产一级在线观看视频 | 嫩草av在线 | 国产精品videossex国产高清 | 中文字幕av网站 | 在线免费看黄网站 | 少妇自拍av | 国产精品久久久久久久久蜜臀 | 91精品啪在线观看国产线免费 | 久久婷亚洲五月一区天天躁 | 色夜影院 | 91亚洲国产 | 手机在线黄色网址 | 五月天电影免费在线观看一区 | 国产精品爽爽久久久久久蜜臀 | 亚洲日本精品视频 | 国产精品涩涩屋www在线观看 | 在线观看一区二区视频 | av超碰在线 | 日韩激情网 | 日本公妇在线观看 | 亚洲国产最新 | 国产精品久久久久9999吃药 | 手机看片福利 | 久久少妇 | 免费精品在线视频 | 欧美大片www | 99精品一区二区 | 婷婷电影在线观看 | 国产精品国产三级国产不产一地 | 成人一区影院 | 91精品国产自产在线观看 | 久久久久黄色 | 国产香蕉在线 | 天天视频色| 欧美精彩视频在线观看 | 欧美少妇的秘密 | 九九综合久久 | 国产精品久久久久久久婷婷 | 一区二区三区免费看 | 国模精品一区二区三区 | 岛国av在线不卡 | 在线观看视频一区二区三区 | 中文字幕视频播放 | 久久久91精品国产一区二区三区 | 97超级碰碰碰碰久久久久 | 国产精品自产拍在线观看网站 | 欧美亚洲专区 | 曰韩精品| 亚洲激情精品 | av在线播放观看 | 中文字幕资源在线 | 黄色午夜 | 国产香蕉久久 | 中文一区二区三区在线观看 | 超碰在线日本 | 日韩欧美99 | 久久免费视屏 | 欧洲激情在线 | 日韩久久电影 | 久草网首页 | 最新av电影网址 | 又黄又爽又刺激 | 午夜精品久久久久久久爽 | 日韩精品免费一区二区在线观看 | 青青色影院 | 日韩在线视频一区二区三区 | 国产一区二区午夜 | 国产精品一区二区三区久久久 | 国产精品成人久久久久久久 | 欧美日韩国产一区二区在线观看 | 免费在线观看成人小视频 | 91黄色影视 | 99国产精品久久久久久久久久 | 亚洲精品乱码久久久久久9色 | 亚洲激情综合 | 久久精品免费观看 | 很黄很污的视频网站 | 91精品欧美一区二区三区 | 97超碰色 | 美女国产精品 | 国产在线欧美日韩 | 亚洲 欧美 综合 在线 精品 | 天天干,狠狠干 | 五月天电影免费在线观看一区 | 国产精品一区二区在线 | 国产资源在线观看 | 伊人av综合| 精品999久久久 | 一二三久久久 | 久久久久久久久久久久国产精品 | 91中文字幕在线视频 | 99在线热播| 午夜久久影院 | 国产日韩精品一区二区三区 | 97精品免费视频 | 久久99国产综合精品免费 | 国产理伦在线 | 51久久夜色精品国产麻豆 | 国产精品ⅴa有声小说 | 日韩久久在线 | 亚洲天堂视频在线 | 亚洲成人网在线 | 日韩av高潮 | 国产精品久久久久久久久久久久久久 | 亚洲精品无 | 久久极品 | 日韩欧美国产免费播放 | 又黄又爽又刺激的视频 | 99在线观看免费视频精品观看 | 日韩视频一区二区三区在线播放免费观看 | av日韩精品 | 国内精品福利视频 | 又黄又爽的视频在线观看网站 | 亚洲国产影院 | 91视频专区| 99久久网站| 国产黄色在线看 | 久草影视在线观看 | 久久人人爽 | 97精品视频在线 | 天天操天天射天天操 | av高清一区二区三区 | 天天舔天天搞 | 欧美性生交大片免网 | 久久久久女人精品毛片九一 | 欧美成人一区二区 | 96香蕉视频 | 久久久999免费视频 日韩网站在线 | 91精品视频在线观看免费 | 国产精品久久精品 | 日韩欧美视频在线免费观看 | 久久久久久久影院 | 久久精品—区二区三区 | 成人综合日日夜夜 | 夜夜干夜夜| 在线观看国产v片 | 欧美伦理电影一区二区 | 中文字幕在线视频一区二区三区 | 九九一级片 | 欧美激情精品 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 亚洲日本在线一区 | 国产成人精品免费在线观看 | 四虎国产精品成人免费影视 | 免费观看的黄色片 | 亚洲电影av在线 | 国产 一区二区三区 在线 | 亚洲精品乱码久久久久久9色 | 999ZYZ玖玖资源站永久 | 一区二区视频在线播放 | 99电影456麻豆 | 中文字幕在线免费观看 | 国产精品高清在线 | av黄色av| 很黄很黄的网站免费的 | a级国产乱理论片在线观看 特级毛片在线观看 | av网站在线免费观看 | av日韩中文| 国产色资源 | 最近更新的中文字幕 | a色视频 | 色婷婷88av视频一二三区 | 精品夜夜嗨av一区二区三区 | 天天操夜夜操天天射 | 日日摸日日 | 国产美女无遮挡永久免费 | 天天干亚洲 | 日日夜夜狠狠干 | 青青草久草在线 | 日韩 在线a | 久久av在线| 狠狠操欧美| 中文日韩在线视频 | 日本久久中文字幕 | 国产精品乱码久久久久久1区2区 | 国产资源免费 | 亚洲激情婷婷 | 天天干天天操av | 97碰碰视频 | 久久精品1区 | 日本中文字幕在线看 | 日本在线观看一区 | 国产美女久久 | 777奇米四色 | 午夜精品一区二区三区在线视频 | 一区二区三区免费在线 | 欧美性一级观看 | 久久国产精品视频免费看 | 国内视频在线 | 日韩电影在线一区二区 | 免费三级a | 国产无限资源在线观看 | 欧美三级在线播放 | 91最新网址 | 最新久久免费视频 | 欧美日韩激情网 | 婷婷午夜激情 | 国产亚洲成人精品 | 五月婷网 | 亚洲午夜电影网 | 99精品电影 | 精品国产一区二区三区久久久蜜月 | 97在线观看免费观看 | 曰韩在线 | 亚洲成人av在线电影 | 国产免费视频一区二区裸体 | 亚洲日本va午夜在线电影 | 国产高清视频在线播放 | 国产资源网 | 欧美激情第八页 | 亚洲在线网址 | 久久久久久久久久久影院 | 免费成人在线观看视频 | 丁香5月婷婷| 国产精品21区 | 久草网视频 | 久久久精品国产免费观看一区二区 | 亚洲乱亚洲乱亚洲 | 麻豆国产露脸在线观看 | 久草综合在线 | 亚洲精品动漫成人3d无尽在线 | 国产免费一区二区三区网站免费 | 国产中文字幕网 | 丁香婷婷激情 | 在线中文字幕播放 | 一级免费黄视频 | 国产一区二区成人 | 欧美日韩另类在线 | 亚洲天堂网站视频 | 欧美极品在线播放 | 碰超在线观看 | 日韩高清不卡一区二区三区 | 亚洲视频大全 | 91精品少妇偷拍99 | 久久久亚洲电影 | 亚洲视频 中文字幕 | 麻豆精品91 | 免费看麻豆 | 激情动态 | 丁香婷婷综合色啪 | 国产精品久久久久久麻豆一区 | 久久久久一区二区三区 | 69av久久| 中国一级片在线观看 | a级国产乱理论片在线观看 特级毛片在线观看 | 国产一级在线免费观看 | 国产精品福利在线播放 | 在线观看黄污 | 91中文字幕在线视频 | 精品一区二区免费 | 久久久www | 久久成人亚洲欧美电影 | 色99之美女主播在线视频 | 四虎成人精品永久免费av | 午夜三级在线 | 美女免费电影 | av在线不卡观看 | 日韩一区二区三区高清在线观看 | 伊人伊成久久人综合网小说 | 亚洲午夜精品一区 | 精品国产一区二区三区在线观看 | 日本性高潮视频 | 成年人网站免费观看 | 久久综合精品一区 | 欧美一区影院 | 国产黄色成人 | 又污又黄网站 | 日韩久久午夜一级啪啪 | 黄色tv视频| 免费观看日韩av | 日韩av免费观看网站 | 亚洲精品在线观看中文字幕 | 亚洲在线视频播放 | 欧美日韩性生活 | 国产在线最新 | av网站在线观看播放 | 欧洲性视频| 欧洲精品久久久久毛片完整版 | 久久免费a| 日韩有码第一页 | 插综合网 | 99精品视频精品精品视频 | 91新人在线观看 | 色福利网站 | 婷婷久操| 国产色视频一区二区三区qq号 | 免费看的黄色网 | 美女网站在线免费观看 | 国产精品一区在线观看 | 欧美性成人 | 在线观看 亚洲 | 亚洲理论片在线观看 | 婷婷六月网 | 亚洲a在线观看 | 国产高潮久久 | 免费黄色一区 | 欧美特一级片 | 98涩涩国产露脸精品国产网 | 曰本免费av | 亚洲精品理论片 | 五月天综合网站 | 91丨九色丨91啦蝌蚪老版 | 欧美一级日韩免费不卡 | 一区二区三区www | 国产亚洲小视频 | 人操人 | 在线观看91久久久久久 | 午夜在线观看影院 | 色综合久久88 | 精品国内自产拍在线观看视频 | 少妇性aaaaaaaaa视频 | 国产色妞影院wwwxxx | 日韩高清成人 | 久久久私人影院 | 在线视频你懂得 | 天天操天天干天天综合网 | 国产亚洲成人精品 | 日韩高清片 | 91av在| 天天摸天天干天天操天天射 | 九九热在线免费观看 | 国产精品久久久久999 | 免费观看的av | 一级片免费观看视频 | 精品国产伦一区二区三区观看体验 | 国产视频一区在线播放 | 成人久久18免费网站图片 | www.在线看片.com | 亚洲视频电影在线 | 亚洲国产精品成人女人久久 | 人人爽人人爽人人片av免 | 91综合色| 久久理论视频 | 一级免费看 | 99久久99久久精品免费 | 久草免费新视频 | 成人av片免费观看app下载 | 日韩a级免费视频 | 成人av影院在线观看 | 成人国产精品久久久 | www.久草视频 | 国产美腿白丝袜足在线av | 久久综合九色综合久久久精品综合 | 天天爱天天干天天爽 | 久久婷婷久久 | 免费看一级一片 | 三级av免费看 | 2023年中文无字幕文字 | 久草在线播放视频 | 九九99| 国产精品网红福利 | av一级在线 | 久产久精国产品 | 在线黄网站 | 成年人免费看片网站 | 西西444www大胆无视频 | 国产成人亚洲在线电影 | 久久视频精品在线观看 | 黄av免费 | 9999国产精品| 久草在线视频免赞 | 天堂av免费 | 日韩欧美极品 | 亚洲国产精品电影 | 国产激情免费 | 成人在线免费观看网站 | 激情综合网五月婷婷 | 九九综合九九综合 | 久久视频这里只有精品 | 激情亚洲综合在线 | 欧美日韩精品二区第二页 | av三区在线 | 色噜噜狠狠色综合中国 | 亚洲黄色免费 | 美女福利视频 | 欧美怡红院 | 黄色小说18 | 亚洲最快最全在线视频 | 中文字幕av有码 | 99中文字幕视频 | 91亚洲国产 | 美女黄濒| 精品伦理一区二区三区 | 免费亚洲电影 | 一级精品视频在线观看宜春院 | 国产亚洲精品久久久久久无几年桃 | 久久国产一二区 | 91精品综合在线观看 | 国产一级免费在线 | 久草在线视频在线 | 蜜臀91丨九色丨蝌蚪老版 | 久久视频国产精品免费视频在线 | 久久久资源 | 久久久免费看视频 | 久久精品一区二区三区中文字幕 | 亚洲永久精品在线观看 | 99精品免费久久久久久久久日本 | 欧美精品在线一区二区 | 91人人视频在线观看 | 人人草人 | 在线激情小视频 | 国产亚洲精品女人久久久久久 | 国产日韩欧美在线看 | av在线网站大全 | 天天操天天射天天爱 | 999久久国产 | 啪啪肉肉污av国网站 | 免费看国产视频 | 在线观看www视频 | 九九在线精品视频 | 色综合www | 国产色婷婷在线 | 91丨九色丨国产丨porny精品 | 99久久精品国产一区 | 99麻豆久久久国产精品免费 | 欧美国产91 | 成人免费在线视频观看 | 91av在线视频播放 | 国产精品完整版 | 国产中文自拍 | 99久久精品国产观看 | 欧美一级艳片视频免费观看 | 亚洲免费精品视频 | 国产精品久久久久婷婷二区次 | 国产亚洲精品久久久久久 | 丁香六月婷| 玖玖爱国产在线 | 亚洲黄色在线免费观看 | 国产探花视频在线播放 | 国产高清视频免费观看 | 四虎精品成人免费网站 | 特黄特色特刺激视频免费播放 | 超碰在线国产 | 蜜臀av性久久久久av蜜臀三区 | 99精品在线看 | 久久久久国产一区二区 | 亚洲最大av网 | 2022国产精品视频 | 亚洲综合激情 | 精品久久网 | 国产剧情一区在线 | 国产视频一二区 | 婷婷丁香av| 91亚洲狠狠婷婷综合久久久 | 国产精品剧情在线亚洲 | 免费日韩av片 | 一区二区三区手机在线观看 | a级免费观看 | 天天操天 | 狠狠操在线 | 深夜成人av | 91精品国自产在线偷拍蜜桃 | 中文字幕在线不卡国产视频 | 亚洲在线日韩 | 久久影视精品 | 久久综合五月 | 岛国一区在线 | 久久精品伊人 | 国产精品久久久久久一二三四五 | 97夜夜澡人人双人人人喊 | 精品国内自产拍在线观看视频 | 久草在线观 | 黄色录像av | 国产精品乱码高清在线看 | 99综合电影在线视频 | 激情婷婷综合网 | 国产成人三级 | 久久伦理 | 91九色蝌蚪国产 | 不卡的av片| 国产在线日本 | 日韩精品一区二区三区在线播放 | 黄色成人在线网站 | 在线观看涩涩 | 亚洲精品国产精品国自产 | 日本三级香港三级人妇99 | av在线免费观看黄 | 亚洲永久国产精品 | 中文区中文字幕免费看 | 久久精品视频国产 | 插久久| 免费看v片| av电影免费观看 | 欧美日韩一区二区免费在线观看 | 日本在线观看视频一区 | 丁香六月久久综合狠狠色 | av成人资源 | 97色在线观看免费视频 | 久久精彩| jizz欧美性9 国产一区高清在线观看 | 国产理论影院 | 久久不卡av | 久久免费视频在线观看 | 亚洲国产wwwccc36天堂 | 91夫妻自拍 | 亚洲视频1区2区 | 国产人成看黄久久久久久久久 | 国产精品一区二区免费视频 | 97精品国产97久久久久久 | 久久69精品久久久久久久电影好 | 天天视频亚洲 | 日本三级在线观看中文字 | 久久黄色小说 | 夜夜操天天操 | 伊人中文网 | 欧美激情精品久久久久久变态 | 免费看黄在线看 | 久久伦理影院 | 久久久亚洲麻豆日韩精品一区三区 | 色偷偷人人澡久久超碰69 | 亚洲四虎| 91激情视频在线播放 | 日本精品久久久久中文字幕 | 懂色av一区二区在线播放 | 精品亚洲一区二区三区 | 久久久免费精品 | 色姑娘综合天天 | 九九亚洲视频 | 黄色中文字幕 | 亚洲欧美日韩一二三区 | 亚洲经典视频 | 日韩手机视频 | 午夜av免费 | 婷婷福利影院 | 国产精品精品国产 | 日韩一区二区三 | 久久久久看片 | 波多野结衣精品视频 | 久精品一区 | 欧美另类激情 | 伊人狠狠操 | 亚洲香蕉视频 | 波多野结衣在线观看视频 | 免费在线激情电影 | 精品亚洲va在线va天堂资源站 | 亚洲精品午夜久久久久久久久久久 | a色视频 | 五月天亚洲综合 | 色丁香久久 | 国产精品高清在线观看 | 欧美日一级片 | 亚洲精品成人av在线 | 亚洲欧洲xxxx | 免费日韩一区 | 中午字幕在线 | 韩国一区在线 | 亚洲国产人午在线一二区 | 国产一区在线精品 | 91丨九色丨国产丨porny精品 | 欧美国产亚洲精品久久久8v | 久久精品免费观看 | 久久久久国产一区二区三区 | 91在线www| 精品福利片 | 久久久久国产一区二区 | 国产日韩一区在线 | 国产视频中文字幕 | 黄色一级大片在线观看 | 欧美精品v国产精品v日韩精品 | 99麻豆久久久国产精品免费 | 国产成人高清在线 | 日韩理论 | 国产麻豆剧果冻传媒视频播放量 | 亚洲精品国产精品国自产观看浪潮 | 国产97av | 色婷婷狠狠五月综合天色拍 | 中文在线中文a | 国产人成免费视频 | 亚洲精品在线网站 | 国产精品福利在线观看 | 国产成人1区 | 久久久 激情 | 国产色拍 | 麻豆91小视频| 久久黄色网页 | 午夜久久久久久久久久久 | 日本最新中文字幕 | 国产黄在线 | 精品国产久 | 粉嫩av一区二区三区四区在线观看 | 精品自拍sae8—视频 | 丁香花在线观看视频在线 | 成人免费大片黄在线播放 | 国产精品入口麻豆www | 友田真希x88av | 97视频网站| 国产精品久久嫩一区二区免费 | 久久久久久麻豆 | 97av在线| 日韩午夜小视频 | 天天操天天吃 | 综合网五月天 | 精选久久| 成人国产网站 | 97碰碰碰| 大胆欧美gogo免费视频一二区 | 欧美另类亚洲 | 亚洲精品9 | 国产一区二区三区高清播放 | 久久天天综合网 | 亚洲国产精品传媒在线观看 | 国产日韩精品久久 | 日韩欧美99 | 中文伊人 | 国内精品久久久精品电影院 | 69久久99精品久久久久婷婷 | 一本一本久久aa综合精品 | а中文在线天堂 | 在线国产一区二区三区 | 91九色蝌蚪视频 | 国产二区视频在线观看 | 国产999精品久久久久久绿帽 | 久久露脸国产精品 | 日批网站免费观看 | 成人免费观看在线视频 | 人人射人人澡 | 九七人人干| 久久久人人人 | 69人人| 91av原创| 久久欧美精品 | 国产成人精品av在线观 | 国产一级在线视频 | 免费日韩电影 | 日韩欧美电影在线 | 99热国产在线观看 | 超碰在线国产 | 亚洲精品在线二区 | 久久亚洲综合国产精品99麻豆的功能介绍 | 国产 一区二区三区 在线 | 欧美在线观看禁18 | 91豆花在线观看 | 国产护士av | 手机在线欧美 | 午夜丁香网 | 色婷婷av一区| 91精品视频在线观看免费 | 免费看麻豆| 久热只有精品 | 欧美久久成人 | 欧美福利网站 | 色无五月| 丁香六月中文字幕 | 精品久久久久久久久久久久 | 久久精品免费电影 | 九九视频网 | 天天干天天干天天 | 日本夜夜草视频网站 | 黄色特一级 | 免费高清在线视频一区· | 91精品国产麻豆 | 亚洲美女视频在线观看 | 久草在线视频新 | 91成人免费在线视频 | 亚洲精品永久免费视频 | 久久久国产电影 | 黄色亚洲片 | 国产黄色成人 | 久久天堂网站 | 日韩 在线观看 | 在线免费黄 | 人人干网 | 国内精品在线观看视频 | av经典在线 | 日韩狠狠操 | 久草精品电影 | 欧美aaaxxxx做受视频 | 亚洲欧美婷婷六月色综合 | www.在线观看视频 | 日日日视频 | 97成人精品视频在线观看 | 久久免费视频精品 | 精品xxx | 亚洲国产精品成人av | 四虎最新域名 | 91久草视频| 日本最新中文字幕 | 久久免费福利 | 97视频网站 | 又爽又黄又无遮挡网站动态图 | 综合久久久| 日韩欧美视频二区 | 久久99九九99精品 | 99视频一区二区 | 在线观看色视频 | 国外成人在线视频网站 | 91国内在线视频 | 中文字幕在线影院 | 亚洲男女精品 | 黄色电影小说 | 国产精品久久久久久久av电影 | 人人干狠狠干 | 成人午夜剧场在线观看 | 亚洲精品久久久久999中文字幕 | 久久婷婷开心 | 日本久久免费电影 | av大全在线观看 | av官网在线| 亚洲日本va午夜在线影院 | 综合网伊人 | 超碰在线人人草 | 亚洲成av人电影 | 成人精品99| 99 视频 高清 | 日韩av网址在线 | 国产又粗又猛又色又黄网站 | 日日干干夜夜 | 国外成人在线视频网站 | 久久精品系列 | 国内成人综合 | 91亚洲精品久久久久图片蜜桃 | 韩日精品在线 | 日韩成人av在线 | 天天摸日日摸人人看 | 香蕉视频日本 | 成人亚洲精品久久久久 | 成人国产精品一区 | 特级毛片网站 | 激情 婷婷 | 丁香五婷 | 最新国产精品亚洲 | 国产精品视频免费观看 | 欧美一级片在线观看视频 | 美女网站视频色 | 精品国产黄色片 | 在线电影中文字幕 | 免费视频区 | 国产精品伦一区二区三区视频 | av中文字幕免费在线观看 | 日韩欧美视频在线观看免费 | 99久久精品无免国产免费 | 91精品国产成人观看 | 久久国产精品一区二区三区四区 | 国产午夜在线观看视频 | 中文字幕免费高清在线观看 | 青青河边草免费直播 | 奇米导航| 日韩精品不卡 | 久热精品国产 | 亚洲国产成人精品电影在线观看 | 日韩免费一级电影 | 天天操网 | 久久黄色小说视频 | 欧美韩日精品 | 91久久在线观看 | 久久久精品午夜 | 免费a网址 | 久久精品艹 | 悠悠av资源片| 欧美一级淫片videoshd | 亚洲天堂网在线观看视频 | 欧美日韩不卡在线 | 一级黄色毛片 | 国产一区二区影院 | 日韩久久精品一区 | 久久爱www. | 欧美日韩一区二区在线观看 | 欧美色图亚洲图片 | 国产精品亚洲综合久久 | 91av国产视频| 免费a网| 欧美久久影院 | 亚洲欧美视频网站 | 国产精品6999成人免费视频 | 五月天高清欧美mv | 久久久久国产成人精品亚洲午夜 | 在线播放一区二区三区 | 免费看v片网站 | 亚洲最大色| 国产精品毛片一区视频播 | 中文字幕在线观看你懂的 | 亚洲精品视频中文字幕 | 少妇性色午夜淫片aaaze | 激情影音先锋 | 美女久久一区 | 中文字幕在线高清 | 亚洲激情p | 国产福利精品在线观看 | 毛片精品免费在线观看 | 成人国产一区二区 | 国产精品久久久 | 成人在线黄色 | 成人免费网视频 | 久久精品电影网 | 国产精品成人自拍 | 亚洲成av人电影 | 91视频中文字幕 | 欧美日韩高清一区二区三区 | aaa黄色毛片 | www.久草视频 | 日本精品在线视频 | 丁香五婷 | 狠狠狠色丁香综合久久天下网 | 精品 一区 在线 | 久久夜色精品国产欧美乱 | 国产一区网| 免费黄色特级片 | 国产中文字幕国产 | 在线三级中文 | 色99网| 日本在线中文 | 国产精品久久久久久吹潮天美传媒 | 国产精品久久电影网 | 亚洲禁18久人片 | 亚洲免费av在线 | 国产精品久久久久aaaa九色 | 97在线免费视频观看 | 亚洲国产精品小视频 | 久久爱www. | 久久综合网色—综合色88 | 精品人人人人 | 五月天婷婷丁香花 | 久久婷婷网 | 91精品一| 91九色在线视频 | 日韩精品中文字幕在线不卡尤物 | 五月天婷婷综合 | 久久99国产精品久久99 | 亚洲激精日韩激精欧美精品 | 99久久er热在这里只有精品66 | 精品中文字幕视频 | 国产精品久久一卡二卡 | 在线成人高清电影 | 久草精品在线观看 | 永久黄网站色视频免费观看w | 欧美大jb | 丁香av在线 | 在线观看黄色小视频 | 久久综合天天 | 日韩首页 | 91看片在线播放 | 日韩三级视频在线观看 | 香蕉视频啪啪 | 色综合久久久久综合体桃花网 | 91精品国产高清自在线观看 | 欧美一区免费观看 | 热久久影视 | 69视频永久免费观看 | 亚洲成色 | 国产天天综合 | 色狠狠操 | 在线观看日本高清mv视频 | 久久人操 | 久色网| 天天综合狠狠精品 | 色干干 | 国产精品免费小视频 | 国产对白av| 国产一区视频在线 | 五月婷婷在线视频 | 349k.cc看片app | 在线精品一区二区 | 婷婷黄色片| 中文字幕日韩av | av在线播放快速免费阴 | 色在线视频 | 天天干天天操天天拍 | 久久精品一级片 | 日躁夜躁狠狠躁2001 | 久久桃花网 | 99久久久成人国产精品 | 国产精品刺激对白麻豆99 | 人人爽人人爽人人爽人人爽 | 久久久久久久网 | 麻豆网站免费观看 | 91一区啪爱嗯打偷拍欧美 | 色99之美女主播在线视频 | 狠狠狠狠狠干 | 久久久久一区二区三区 | 久久国产美女视频 | 五月婷婷丁香在线观看 | 丁香九月婷婷 | 亚洲在线网址 | 九色精品在线 | 日日夜夜精品免费 | 国产综合小视频 | 国产在线一区二区 | 久久免费成人精品视频 | 久久久久久久久久久电影 | 91黄色小视频 | 91av国产视频 | 亚洲婷婷网 | 99久久久成人国产精品 | 日韩精品一区二区三区视频播放 | 欧美一级在线观看视频 | 国产视频精品网 | 久久精品一区二区三区四区 | 国产精品福利午夜在线观看 | 狠狠的干 | 国产精品免费成人 | 日韩精品一区二区三区第95 | 激情综合站| 午夜精品婷婷 | www.久久久.cum | 精品一区三区 | 一级a毛片高清视频 | 精品女同一区二区三区在线观看 | 免费人成网 | 久久精品99久久久久久2456 | 综合久久久久久 | 国偷自产中文字幕亚洲手机在线 | 黄色软件大全网站 | 免费观看国产成人 | 激情欧美网| 国产在线观看av | 久久99国产综合精品免费 | 丁香网五月天 | 91精品视频免费观看 | 伊人亚洲综合网 | 精品视频久久久久久 | 人人爽人人爽 | 久草免费在线视频观看 | 亚洲一二三久久 | 欧美日韩国产一区二区三区 | 日韩精品免费在线观看视频 | 欧亚久久 | 97精品电影院 | 999国产在线 | 午夜精品久久 | 国产精品一区二区麻豆 | 久久久综合香蕉尹人综合网 | 51久久夜色精品国产麻豆 | 999久久久久久久久6666 | 日韩中文字幕网站 | 精品国产理论片 | 日韩精品久久久久久久电影竹菊 | 色欧美日韩| 亚洲精品九九 | 岛国一区在线 | 久久久免费看视频 | 色播五月激情五月 | 亚洲精品一区二区三区新线路 | 国产v视频| 久草在线免费看视频 | 97视频免费在线观看 | 久久视频一区 | 国产精品99久久久久的智能播放 | 91麻豆国产福利在线观看 | 久久精品黄 | 91在线精品一区二区 | 久久人人97超碰精品888 | 男女全黄一级一级高潮免费看 | 黄色av播放 | 亚洲国产精品传媒在线观看 | 少妇性bbb搡bbb爽爽爽欧美 | 99在线视频播放 | 91中文字幕在线视频 | 人人天天夜夜 | 国产色婷婷精品综合在线手机播放 | 国色天香第二季 | 成人午夜电影网站 | 色综合久久久网 | av午夜电影 | 一级片黄色片网站 | 亚洲天堂在线观看完整版 | 视频在线观看91 | 天堂av在线7 |