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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UNIX再学习 -- 线程

發布時間:2025/3/15 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UNIX再学习 -- 线程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

終于要講到線程部分,線程和進程讓人夠頭痛的內容。

一、線程概念

老樣子,我們還是按我們講進程時的方式說起,參看:UNIX再學習 -- 進程環境 首先需要了解下,什么是線程。Linux 下的線程,可能我們比較陌生,但是我們一直在玩 Windows 系統。應用程序文件、任務管理器,這些東西應該是很溜的。比如:

查看詳細信息,最上一列,右擊選擇列;找到線程打對勾。如下圖,就可看到線程數了。




通過上圖我們可以看到?一個進程中有多個線程。但是到底什么是線程呢? 參看:進程與線程的一個簡單解釋??大神舉得例子很有意思。 進程好似車間,線程好似車間工人;任務是有很多工人協同完成;車間內的空間設施工人都是共享的;有些房間比如廁所一次只能容納一人,進入需加鎖(互斥鎖)。
進程,是資源分配單位。線程,是CPU調度基本單位。 線程就是程序的執行路線,即進程內部的控制序列,或者說是進程的子任務。 一個進程可以同時擁有多個線程,即同時被系統調度的多條執行路線,但至少要有一個主線程。

一個進程的所有線程都共享進程的代碼區、數據區、堆區(注意沒有棧區)、環境變量和命令行參數、文件描述符、信號處理函數、當前目錄、用戶 ID 和組 ID 等。 一個進程的每個線程都擁有獨立的 ID、寄存器值、棧內存、調度策略和優先級、信號掩碼、errno變量以及線程私有數據等。 也可以說線程是包含在進程中的一種實體。它有自己的運行線索,可完成特定任務。可與其他線程共享進程中的共享變量及部分環境。可通過相互之間協同來完成進程所要完成的任務。 之前有轉載一篇文章,可當擴展來看,參看:進程與線程及其區別
1.進程和線程的區別
什么是進程(Process):普通的解釋就是,進程是程序的一次執行,而什么是線程(Thread),線程可以理解為進程中的執行的一段程序片段。在一個多任務環境中下面的概念可以幫助我們理解兩者間的差別:進程間是獨立的,這表現在內存空間,上下文環境;線程運行在進程空間內。一般來講(不使用特殊技術)進程是無法突破進程邊界存取其他進程內的存儲空間;而線程由于處于進程空間內,所以同一進程所產生的線程共享同一內存空間。 同一進程中的兩段代碼不能夠同時執行,除非引入線程。線程是屬于進程的,當進程退出時該進程所產生的線程都會被強制退出并清除。線程占用的資源要少于進程所占用的資源。 進程和線程都可以有優先級。在線程系統中進程也是一個線程。可以將進程理解為一個程序的第一個線程。
線程是指進程內的一個執行單元,也是進程內的可調度實體.與進程的區別:
(1)地址空間:進程內的一個執行單元;進程至少有一個線程;它們共享進程的
地址空間;而進程有自己獨立的地址空間;
(2)進程是資源分配和擁有的單位,同一個進程內的線程共享進程的資源
(3)線程是處理器調度的基本單位,但進程不是.
(4)二者均可并發執行.

1.進程和線程的差別。
答:線程是指進程內的一個執行單元,也是進程內的可調度實體.
與進程的區別:
(1)調度:線程作為調度和分配的基本單位,進程作為擁有資源的基本單位
(2)并發性:不僅進程之間可以并發執行,同一個進程的多個線程之間也可并發執行
(3)擁有資源:進程是擁有資源的一個獨立單位,線程不擁有系統資源,但可以訪問隸屬于
進程的資源.
(4)系統開銷:在創建或撤消進程時,由于系統都要為之分配和回收資源,導致系統的開銷
明顯大于創建或撤消線程時的開銷。


二、POSIX 線程

早期 UNIX 廠商各自提供私有的線程庫版本,無論是接口還是實現,差異都非常大,代碼移植非常困難。 我們將要討論的線程接口來自 POSIX.1-2001。線程接口也稱為“pthread”或“POSIX 線程” POSIX 線程的功能測試宏是 _POSIX_THREADS。應用程序可以把這個宏用于 #ifdef 測試,從而在編譯時確定是否支持線程,也可以把 _SC_THREADS 常數用于調用 sysconf 函數,進而在運行時確定是否支持線程。遵循 SUSv4 的系統定義符號 _POSIX_THREADS 的值為 200809L 查看 /usr/include/i386-linux-gnu/bits/posix_opt.h 可以看到 _POSIX_THREADS 的定義 69 /* Tell we have POSIX threads. */70 #define _POSIX_THREADS 200809L使用 pthread 需要包含一個頭文件:pthread.h 同時連一個共享庫:libpthread.so ?即 gcc?編譯時加選項 -lpthread #include <pthread.h>gcc ... -lpthread

三、線程標識

就像每個進程有一個進程 ID 一樣,每個線程也有一個線程 ID。進程 ID 在整個系統中是唯一的,但線程 ID 不同,線程 ID 只有在它所屬的進程上下文中才有意義。 線程 ID 是用 pthread_t 數據類型表示的. 查看?/usr/include/i386-linux-gnu/bits/pthreadtypes.h 可以看到 pthread_t 類型為無符號長整型typedef unsigned long int pthread_t; 實現的時候可以用一個結構來代表 pthread_t 數據類型,所以可移植的操作系統實現不能把它作為整數處理。 因此必須使用一個函數來對兩個線程 ID 進行比較。 參看:Pthreads and Semaphores

1、函數 pthread_equal

#include <pthread.h> int pthread_equal(pthread_t t1, pthread_t t2); 返回值:若相等,返回非 0 數值;否則,返回 0

(1)函數功能

比較線程 ID

(2)示例說明

//示例一 #include <stdio.h> #include <stdlib.h> #include <pthread.h> int main(){ pthread_t thread_id; thread_id=pthread_self(); // 返回調用線程的線程ID printf("Thread ID: %lu.\n",thread_id); if (pthread_equal(thread_id,pthread_self())) { printf("Equal!\n"); } else { printf("Not equal!\n"); } return 0; } 編譯:# gcc test.c -lpthread 輸出結果: Thread ID: 3075704512. Equal!//示例二 #include <stdio.h> #include <pthread.h> #include <stdlib.h> #include <string.h> #include <unistd.h>void* routine1 (void* arg) {pthread_t thread = pthread_self ();printf ("子線程1 ID:%lu\n", thread);return (void*)thread; }void* routine2 (void* arg) {pthread_t thread = pthread_self ();printf ("子線程2 ID:%lu\n", thread);if (pthread_equal (thread, (pthread_t)arg))printf ("兩個線程ID相同\n");elseprintf ("兩個線程ID不同\n");return (void*)thread; }int main() {pthread_t thread1;int error = pthread_create (&thread1, NULL, routine1, NULL);if (error){perror ("pthread_create");exit (EXIT_FAILURE);}pthread_join (thread1, NULL);pthread_t thread2;error = pthread_create (&thread2, NULL, routine2, (void*)&thread1);if (error){perror ("pthread_create");exit (EXIT_FAILURE);}//sleep (1);pthread_join (thread2, NULL);return 0; } 輸出結果: 子線程1 ID:3076029248 子線程2 ID:3076029248 兩個線程ID不同

(3)示例解析

pthread_equal 函數比較兩個線程 ID,這個沒什么可講的。? 示例二是我講完以后又添加的,創建了兩個子線程。它們的線程 ID 不同,可以理解。 我要說的是 sleep 和 pthread_join 有什么區別呢? 還有為什么在線程中使用 usleep 不合適?? 留個疑問,后續我們講多線程會一起講到的!!

2、函數 pthread_self

#include <pthread.h> pthread_t pthread_self(void); 返回值:調用線程的線程 ID

(1)函數功能

獲取線程自身的 ID

(2)示例說明

當線程需要識別以線程 ID 作為標識的數據結構時,pthread_self 函數可以與 pthread_equal 函數一起使用,如上例 #include <pthread.h> #include <stdio.h>void* thread_func(void *arg) {printf("thread id=%lu\n", pthread_self());return arg; }int main(void) {pid_t pid;pthread_t tid;pid = getpid();printf("process id=%lu\n", pid);pthread_create(&tid, NULL, thread_func, NULL);pthread_join(tid,NULL);return 0; } 輸出結果: process id=2933 thread id=3076057920

(3)示例解析

創建線程,查看線程自身的線程 ID

四、線程創建

1、函數 pthread_create

#include <pthread.h> int pthread_create(pthread_t *thread, const pthread_attr_t *attr,void *(*start_routine) (void *), void *arg); 返回值:若成功,返回 0;否則,返回錯誤編號

(1)函數功能

創建新線程

(2)參數解析

thread:輸出線程 ID。pthread_t 即 unsigned long int。 attr:線程屬性,NULL 表示缺省屬性。pthread_attr_t 可能是整型也可能是結構體,因實現而異。
start_routine:線程過程函數指針。參數和返回值的類型都是 void*。啟動線程過程其實就是調用一個函數,只不過是在一個獨立的線程中調用,函數一旦返回,線程即告結束。
arg:傳遞給線程過程函數的參數。線程過程函數的調用者是系統內核,因此需要預先將參數存儲到系統內核中。

(3)函數解析

main 函數可以被視為主線程的線程過程函數。main函數一旦返回,主線程即告結束。主線程一旦結束,進程即告結束。進程一旦結束,其所有的子線程統統結束。 應設法保證在線程過程函數執行期間,傳遞給它的參數 arg 所指向的目標持久有效。
注意,pthread 函數在調用失敗時通常會返回錯誤碼,它們并不像其他的 POSIX 函數一樣設置 errno。每個線程都提供 errno 的副本,這只是為了與使用 errno 的現有函數兼容。子啊線程中,從函數中返回錯誤碼更為清晰整潔,不需要依賴那些隨著函數執行不斷變化的全局狀態,這樣可以把錯誤的范圍限制在引起出錯的函數中。

(4)示例說明?

#include <stdio.h> #include <stdlib.h> #include <pthread.h> void *task (void* arg) {printf ("進入子線程\n");sleep (5);printf ("子線程進程ID是:%lu\n", getpid ());printf ("22子線程ID是:%lu\n", pthread_self ());printf ("退出子線程\n"); }int main (void) {printf ("主線程啟動\n");pthread_t thread;int error = pthread_create (&thread, NULL, task, NULL);if (error)perror ("pthread_create"), exit (1);sleep (10);printf ("退出主線程\n");printf("11子線程ID是:%lu\n",thread);printf ("主線程進程ID是:%lu\n", getpid ());printf("主線程ID是:%lu\n",pthread_self());return 0; } 編譯:# gcc test.c -lpthread 輸出結果: 主線程啟動 進入子線程 子線程進程ID是:3117 22子線程ID是:3076180800 退出子線程 退出主線程 11子線程ID是:3076180800 主線程進程ID是:3117 主線程ID是:3076183744

(5)示例解析

主線程需要等待子線程結束后再結束,如果不等待不如把上例的 sleep (10); 注釋掉,則不執行子線程。 子線程和主線程是同一個進程,thread 為輸出子線程 ID,pthread_self函數可以得到線程自身的線程ID 再有?pthread 函數在調用失敗時通常會返回錯誤碼。

五、線程的等待

1、函數 pthread_join

#include <pthread.h> int pthread_join(pthread_t thread, void **retval); 返回值:成功返回 0,失敗返回錯誤號

(1)函數功能

主要用于等待一個線程的結束,并且回去退出碼

(2)參數解析

第一個參數:線程的 ID 第二個參數:二級指針,用于獲取線程的退出碼

(3)函數解析

該函數根據參數 thread 指定的線程進程等待,將目標線程終止時的退出狀態信息拷貝到 *retval 這個參數指定的位置上。
pthread_join()函數,以阻塞的方式等待thread指定的線程結束。當函數返回時,被等待線程的資源被收回。如果線程已經結束,那么該函數會立即返回。并且thread指定的線程必須是 joinable 的。

(4)示例說明

//示例一 #include <stdio.h> #include <pthread.h>void *task (void *p) {//ps 指向只讀常量區 ps本身在棧區char *ps = "hello";return ps; }int main (void) {//啟動一個線程pthread_t tid;pthread_create (&tid, NULL, task, NULL);//主線程等待子線程的處理,并且獲取返回值char *pc = NULL;//pc 指針指向了 上面字符串的首地址pthread_join (tid, (void**)&pc);printf ("pc = %s\n", pc);return 0; } 輸出結果: pc = hello//示例二 //使用pthread_join函數獲取線程的返回值 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <pthread.h>void* task(void* p) {int i = 0;//靜態局部變量,生命周期變長static int sum = 0;for(i = 1; i <= 100; i++){sum += i;}return (void*)∑ }int main(void) {//1.啟動一個線程pthread_t tid;pthread_create(&tid,NULL,task,NULL);//2.主線程進行等待,獲取返回值int* pi = NULL;pthread_join(tid,(void**)&pi);printf("子線程返回的數據是:%d\n",*pi);return 0; } 輸出結果: 子線程返回的數據是:5050

(5)示例解析

上例中主要需要注意的是 pthread_join 獲取返回值。 從線程過程函數中返回值的方法: 線程過程函數將所需返回的內容放在一塊內存中,返回該內存的地址,同時保證這塊內存,在函數返回即線程結束以后依然有效。 若 retval 參數非 NULL,則 pthread_join 函數將線程過程函數所返回的指針,拷貝到該參數所指向的內存中。 若線程過程函數所返回的指針指向動態分配的內存,則還需保證在用過該內存之后釋放它。

2、函數 pthread_detach

#include <pthread.h> int pthread_detach(pthread_t thread); 返回值:成功返回 0;失敗返回一個錯誤碼

(1)函數功能

主要用于將參數指定的線程標記為分離狀態,對于分離狀態的線程來說:當該線程終止后,會自動將資源釋放給系統,不需要其他線程的加入/等待,也就是說分離的線程無法被其他線程使用 pthread_join 進行等待 建議:對于新啟動的線程來說,要么使用 pthread_detach 設置為分離狀態,要么使用 pthread_join 設置為可加狀態。

(2)示例說明

#include <stdio.h> #include <pthread.h>void *task (void *p) {int i = 0;for (i = 0; i <= 10; i++)printf ("子線程中:i = %d\n", i); } int main (void) {//啟動一個子線程,打印1~10之間的數pthread_t tid;pthread_create (&tid, NULL, task, NULL);//設置子線程為分離的狀態pthread_detach (tid);//主線程進行等待,然后打印1~10之間的數pthread_join (tid, NULL);int i = 0;for (i = 1; i <=10; i++)printf ("主線程中:i = %d\n", i);return 0; } 輸出結果: 主線程中:i = 1 主線程中:i = 2 主線程中:i = 3 主線程中:i = 4 主線程中:i = 5 主線程中:i = 6 主線程中:i = 7 主線程中:i = 8 主線程中:i = 9 主線程中:i = 10

(3)示例解析

我們上面有講到,如果使用 pthread_join 等待,則等待子線程完成后打印主線程1~10之間的數。 但是使用了 pthread_detach 分離,則直接打印主線程1~10之間的數,且?pthread_join 等待也會失效。

六、線程終止

如果進程中的任意線程調用了 exit、_Exit 或者 _exit,那么整個進程就會終止。與此相比類似,如果默認的動作是終止進程,那么發送到線程的信號就會終止整個進程。 單個線程可以通過 3 種方式退出,因此可以在不終止整個進程的情況下,停止它的控制流。 (1)線程可以簡單地從啟動例程中返回,返回值是線程的退出碼。 (2)線程可以被同一進程中的其他線程取消。 (3)線程調用 pthread_exit。

1、我們講一下第三種調用 pthread_exit。

#include <pthread.h> void pthread_exit(void *retval);

(1)函數功能

主要用于終止正在運行的線程通過參數 retval 來帶出線程的退出狀態信息 在同一個進程中的其他線程可以通過調用 pthread_join 函數來獲取退出狀態信息

(2)函數解析

在線程過程函數或者被線程過程函數直接或間接調用的函數中,調用 pthread_exit 函數,其效果都與在線程過程函數中執行 return 語句效果一樣 -- 終止調用線程。 注意,在任何線程中調用 exit 函數,被終止的都是進程。當然隨著進程的終止,隸屬于該進程的包括調用線程在內的所有線程也都一并終止。

(3)示例說明

//示例一 #include <stdio.h> #include <pthread.h> #include <stdlib.h>void *task (void *p) {int i = 0;for (i = 1; i < 100; i++){if (i == 10){//return (void*)i;pthread_exit ((void*)i);//exit (100);}printf ("子線程中:i = %d\n", i);} }int main (void) {pthread_t tid;pthread_create (&tid, NULL, task, NULL);int res = 0;pthread_join (tid, (void**)&res);printf ("res = %d\n", res);return 0; } 編譯:# gcc test.c -lpthread輸出結果: 子線程中:i = 1 子線程中:i = 2 子線程中:i = 3 子線程中:i = 4 子線程中:i = 5 子線程中:i = 6 子線程中:i = 7 子線程中:i = 8 子線程中:i = 9 res = 10//示例二 #include <stdio.h> #include <pthread.h> #include <stdlib.h> #include <string.h> #include <unistd.h>void circle_area (double r) {double* s = malloc (sizeof (double));*s = 3.14 * r * r;pthread_exit (s); }void* start_routine (void* arg) {circle_area (*(double*)arg);printf("此句將不被執行");return NULL; }int main() {double r = 10.0;pthread_t thread;int error = pthread_create (&thread, NULL, start_routine, (void*)&r);if (error){perror ("pthread_create");exit (EXIT_FAILURE);}double* s;if (pthread_join (thread, (void**)&s)){perror ("pthread_join");exit (EXIT_FAILURE);}printf ("圓面積:%g\n", *s);free (s);return 0; } 輸出結果: 圓面積:314

(4)示例解析

該示例說明了,在任何線程中調用 exit 函數,被終止的都是進程。進程終止可其他線程就就同樣終止了。 使用 pthread_join 獲取退出狀態信息,return 可以返回退出狀態信息,pthread_exit 同樣也可以返回退出狀態信息。

七、線程取消

1、函數 pthread_cancel

#include <pthread.h> int pthread_cancel(pthread_t thread); 返回值:成功返回 0;失敗返回錯誤碼

(1)函數功能

主要用于對參數指定的線程發送取消的請求

(2)函數解析

該函數只是向線程發出取消請求,并不等于線程終止。缺省情況下,線程在收到取消請求以后,并不會立即終止,而是仍繼續運行,直到其達到某個取消點。在取消點處,線程檢查其自身是否已被取消,若是則立即終止。 當線程調用一些特定函數時,取消點會出現。

2、函數 pthread_setcancelstate

#include <pthread.h> int pthread_setcancelstate(int state, int *oldstate); 返回值:成功返回 0,失敗返回錯誤碼

(1)函數功能

主要用于設置新的取消狀態,返回之前的取消狀態

(2)參數解析

state:取消狀態,可取以下值 ? ? PTHREAD_CANCEL_ENABLE ?接受取消請求(缺省) ? ? PTHREAD_CANCEL_DISABLE ?忽略取消請求 oldstate:輸出原取消狀態,可取 NULL

3、函數 pthread_setcanceltype

#include <pthread.h> int pthread_setcanceltype(int type, int *oldtype); 返回值:成功返回 0,;失敗返回錯誤碼

(1)函數功能

主要用于設置新的取消類型,獲取之前的取消類型

(2)參數解析

type:取消類型,可取以下值 ? ? PTHREAD_CANCEL_DEFERRED ?延遲取消(缺省) ? ? ? ? 被取消線程接收到取消請求之后并不立即終止,而是一直等到執行了特定的函數(取消點)之后再終止。 ? ? PTHREAD_CANCEL_ASYNCHRONOUS ?異步取消 ? ? ? ? 被取消線程可以在任意時刻終止,而不是非得遇到取消點。 oldtype:輸出原取消類型,可取 NULL

4、示例說明

//線程取消函數的使用 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <pthread.h>void* task(void* p) {//設置允許被取消pthread_setcancelstate(PTHREAD_CANCEL_ENABLE,NULL);//設置為立即取消pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS,NULL);while(1){printf("I am superman!\n");sleep(1);} }void* task2(void* p) {printf("開始取消線程...\n");sleep(5);printf("取消線程結束\n");pthread_cancel(*(pthread_t*)p); }int main(void) {//1.啟動一個新線程,不斷進行打印pthread_t tid;pthread_create(&tid,NULL,task,NULL);//2.啟動另外一個新線程,負責取消上述線程pthread_t tid2;pthread_create(&tid2,NULL,task2,&tid);//3.主線程等待子線程的結束pthread_join(tid,NULL);pthread_join(tid2,NULL);return 0; }編譯:# gcc test.c -lpthread輸出結果: 開始取消線程... I am superman! I am superman! I am superman! I am superman! I am superman! 取消線程結束

5、示例解析

創建了兩個線程,線程 2 負責取消線程 1。而設置取消狀態為允許被取消,取消類型是立即取消。

八、線程清理處理程序

1、函數 pthread_cleanup_push、pthread_cleanup_pop

#include <pthread.h> void pthread_cleanup_push(void (*routine)(void *), void *arg); void pthread_cleanup_pop(int execute);

(1)函數解析

與進程在退出時可用 atexit 函數安排退出時類似的,線程也可以安排它退出時需要調用的函數。這樣的函數就稱為 線程清理處理程序。一個線程可以建立多個清理處理程序。處理程序記錄在棧中,也就是說,它們的執行順序與它們注冊時相反。

(2)參數解析

當線程執行以下動作時,清理函數 routine 是由 pthread_cleanup_push 函數調度的,調用時只有一個參數 arg: 調用 pthread_exit 時; 響應取消請求時; 用非零 execute 參數設置 0,清理函數將不被調用。 不管發生上述哪種情況,pthread_cleanup_pop 都將刪除 pthread_cleanup_push 調用建立的清理處理程序。

(3)示例說明

#include "apue.h" #include <pthread.h>void cleanup(void *arg) {printf("cleanup: %s\n", (char *)arg); }void * thr_fn1(void *arg) {printf("thread 1 start\n");pthread_cleanup_push(cleanup, "thread 1 first handler");pthread_cleanup_push(cleanup, "thread 1 second handler");printf("thread 1 push complete\n");if (arg)return((void *)1);pthread_cleanup_pop(0);pthread_cleanup_pop(0);return((void *)1); }void * thr_fn2(void *arg) {printf("thread 2 start\n");pthread_cleanup_push(cleanup, "thread 2 first handler");pthread_cleanup_push(cleanup, "thread 2 second handler");printf("thread 2 push complete\n");if (arg)pthread_exit((void *)2);pthread_cleanup_pop(0);pthread_cleanup_pop(0);pthread_exit((void *)2); }int main(void) {int err;pthread_t tid1, tid2;void *tret;err = pthread_create(&tid1, NULL, thr_fn1, (void *)1);if (err != 0)err_exit(err, "can't create thread 1");err = pthread_create(&tid2, NULL, thr_fn2, (void *)1);if (err != 0)err_exit(err, "can't create thread 2");err = pthread_join(tid1, &tret);if (err != 0)err_exit(err, "can't join with thread 1");printf("thread 1 exit code %ld\n", (long)tret);err = pthread_join(tid2, &tret);if (err != 0)err_exit(err, "can't join with thread 2");printf("thread 2 exit code %ld\n", (long)tret);exit(0); } 編譯:# gcc test.c -lpthread輸出結果: thread 2 start thread 2 push complete cleanup: thread 2 second handler cleanup: thread 2 first handler thread 1 start thread 1 push complete thread 1 exit code 1 thread 2 exit code 2

(4)示例解析

兩個線程都正確的啟動和退出了,但是只有第二個線程的清理處理程序被調用了,而區別是一個是 return 返回,一個為調用 pthread_exit。因此,可以看出如果線程是通過從它的啟動例程中返回而終止的話,它的清理處理程序就不會被調用。還要注意,清理處理程序時按照與它們安裝時相反的順序被調用的。

總結

以上是生活随笔為你收集整理的UNIX再学习 -- 线程的全部內容,希望文章能夠幫你解決所遇到的問題。

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

在线91网| www.com黄| av免费观看网站 | 免费av网址在线观看 | 久草视频视频在线播放 | 国产精品高清在线 | 韩国精品福利一区二区三区 | 久草视频2 | 在线免费高清一区二区三区 | 国产精品久久久久久久久毛片 | 一区二区三区国产欧美 | 黄色片免费在线 | 国产精品成人在线观看 | 欧洲精品亚洲精品 | 九九热精品视频在线播放 | 午夜精品久久久久久久久久久久 | 天天操天 | 黄色福利网 | 欧美a视频在线观看 | 91高清视频在线 | 久久久久久高潮国产精品视 | 日韩电影中文字幕在线观看 | 婷婷综合五月天 | 粉嫩av一区二区三区入口 | 狠狠干狠狠艹 | ww亚洲ww亚在线观看 | 国产精品精品国产色婷婷 | 免费看片黄色 | 草久在线观看视频 | 激情大尺度视频 | 国产三级视频在线 | 操久久网 | 欧美日韩网站 | 中文字幕av在线 | 日韩.com | 在线色亚洲 | 日韩理论在线观看 | 一级免费黄视频 | 久久精品99国产精品亚洲最刺激 | 婷婷激情av | 黄色一级在线免费观看 | 色婷婷免费视频 | 免费国产一区二区视频 | 中文字幕免费中文 | 欧美日韩有码 | 色国产精品一区在线观看 | 久久精品一区二区三区中文字幕 | 中文字幕人成不卡一区 | 91黄色在线观看 | 97高清视频 | 99热播精品 | 欧美日韩在线精品一区二区 | 99久久精品免费看国产免费软件 | 亚洲精品在线观看av | 久草在线在线精品观看 | 亚洲国产电影在线观看 | 99久久日韩精品免费热麻豆美女 | 中文字幕在线视频精品 | 久久精品一区二区三区四区 | 国产va饥渴难耐女保洁员在线观看 | 久久99精品国产91久久来源 | 亚洲欧洲视频 | 丁香婷婷激情国产高清秒播 | 中文字幕一区在线 | 国产在线观看午夜 | 亚洲精品美女视频 | 在线激情av电影 | 81国产精品久久久久久久久久 | 久久影视中文字幕 | 啪啪精品| 天天干天天做天天操 | 国产va精品免费观看 | 综合精品在线 | 婷婷去俺也去六月色 | 日日干天天爽 | 亚洲日本成人网 | 免费看污的网站 | 久久国产剧场电影 | 欧美一区二区在线看 | 超碰免费在线公开 | 午夜精品福利一区二区三区蜜桃 | 成人午夜电影在线观看 | 日韩欧美高清一区二区 | 日韩有码中文字幕在线 | 亚洲精品xxxx | 天天操夜夜曰 | 精品一区电影 | 欧美日韩三级在线观看 | 国产视频在线免费观看 | 国产日产精品久久久久快鸭 | 五月天六月婷 | 亚洲精品久久视频 | 黄色福利网 | 中文字幕一区二区三区在线播放 | 视频国产在线 | 精品一区二区日韩 | 国产一区二区久久 | 久久久999免费视频 日韩网站在线 | 六月丁香激情综合 | 成人午夜电影网 | 亚洲四虎在线 | 青青啪| 精品一二三区视频 | 97国产| 操久| 狠狠干夜夜爱 | 中文字幕乱码视频 | 国产精品一区二区久久精品爱涩 | 在线一二区 | 国产成人在线播放 | 精品一区 在线 | 久久久午夜精品福利内容 | 黄色片视频免费 | 日本中文一级片 | 88av网站| 在线av资源 | av动态图片| 亚洲爱av| 一本一本久久a久久 | 免费a级黄色毛片 | 天天伊人网 | 婷婷久久综合九色综合 | 国产一级黄色av | 不卡视频在线看 | www.狠狠色.com | 人人狠狠综合久久亚洲 | 亚洲精品久久激情国产片 | 西西4444www大胆视频 | 久久综合九色综合网站 | 激情网站网址 | 日韩欧美视频在线观看免费 | 五月天激情综合 | 在线天堂中文www视软件 | 97超碰总站 | 色99久久| 免费日韩高清 | 日日碰狠狠躁久久躁综合网 | 成人黄色毛片 | 中文字幕在线观看免费 | 九九热精 | 天天综合精品 | 99热国产精品 | 亚洲电影一区二区 | 日本久久中文 | 久热精品国产 | 91最新国产 | 国产精品久久在线 | 久久在线播放 | 激情综合亚洲 | 日韩不卡高清视频 | 三级毛片视频 | 男女拍拍免费视频 | 西西大胆免费视频 | 国产在线观看免 | 欧美三级高清 | 亚洲天堂网在线播放 | 干亚洲少妇 | 日韩啪啪小视频 | 国产伦精品一区二区三区高清 | 国产自产高清不卡 | 久久久黄色av | 97碰在线视频 | 色综合网在线 | 国产手机在线观看视频 | 中文字幕亚洲国产 | 黄色午夜| 久久精彩免费视频 | 国产精品去看片 | 成人性生交大片免费观看网站 | 九九久久免费 | 日本乱码在线 | 丁香视频在线观看 | 亚洲成a人片在线www | 九九九在线观看视频 | 国产成人久 | 二区三区精品 | 婷婷丁香色 | 色999视频| 黄色毛片在线看 | 国产成人久久精品 | 久久 精品一区 | 日日爱av | 日日射av| 日韩av二区 | 亚洲一级片在线看 | 69精品在线 | 91丨精品丨蝌蚪丨白丝jk | 婷婷视频在线观看 | 91超级碰碰 | 国产精品国产三级在线专区 | 久久99精品波多结衣一区 | 一区二区三区电影 | 久久久www成人免费精品张筱雨 | 狠狠色丁香婷婷 | 精品国产免费看 | 亚洲禁18久人片 | 丁香激情综合国产 | 99热这里是精品 | 九九热99视频 | 天天激情天天干 | 激情综合五月 | 国产精品69久久久久 | 在线视频精品播放 | 999在线精品| 国产无限资源在线观看 | 国产精品久久久久久久久久不蜜月 | 免费观看久久 | 一本之道乱码区 | 国产在线一区二区 | 一区二区久久久久 | 麻豆成人在线观看 | 天天草天天插 | 精品在线视频一区二区三区 | 国产视频一区在线 | 99久久精品国产系列 | 欧洲亚洲女同hd | 久草在线免费在线观看 | 色综合久久中文字幕综合网 | 国产成在线观看免费视频 | 黄色三级免费片 | 福利一区视频 | 国产精品美 | 最近的中文字幕大全免费版 | 免费观看国产精品 | 欧美精品久久久久久久亚洲调教 | 亚洲乱码久久 | 国产裸体bbb视频 | 狠狠五月婷婷 | 婷婷久久综合九色综合 | 日韩精品视频网站 | 国产精品美女视频网站 | 亚洲天堂网在线视频 | 狠狠做深爱婷婷综合一区 | 一区二区三区精品在线视频 | 久久激情小说 | 精品久久福利 | 天堂在线视频免费观看 | 成人九九视频 | 欧美色图另类 | 久久色网站 | 狠狠色狠狠综合久久 | 亚洲干视频在线观看 | 成人中文字幕在线 | 日韩一级黄色av | 亚洲成人av在线播放 | 国产成人精品免费在线观看 | 免费亚洲黄色 | 最近最新mv字幕免费观看 | 爱爱av在线 | 国产理论一区二区三区 | 日韩免费高清 | 五月花丁香婷婷 | 亚洲最大av网 | 久久免费视频2 | 欧美久久久久久 | 久久久久久久久久久综合 | 免费又黄又爽视频 | 久久精品一 | 免费在线观看黄网站 | 成人97视频一区二区 | 欧美一二三专区 | 亚洲黄色在线观看 | 久久久综合 | 在线视频 成人 | 免费在线观看不卡av | 国产精品视频久久久 | 最近中文字幕视频完整版 | 一级一级一片免费 | 成人黄色电影在线播放 | 日韩免费一区二区 | 九九综合在线 | 欧美精品v国产精品v日韩精品 | 国产不卡在线观看视频 | 国产色妞影院wwwxxx | 日韩高清一区二区 | av电影免费观看 | 人人视频网站 | 国产在线 一区二区三区 | 成人午夜剧场在线观看 | 6080yy精品一区二区三区 | 干 操 插 | 久久久精品一区二区三区 | 91精品视频在线 | 国产裸体bbb视频 | 国产xvideos免费视频播放 | 久草视频在线看 | 日韩一级电影在线 | 99在线精品视频观看 | 91精品国产一区二区在线观看 | 久久爱资源网 | 香蕉视频日本 | 中文字幕在线播放一区二区 | 人人爽人人爽人人片av | 激情视频二区 | 国产日韩一区在线 | 超级碰碰碰碰 | 在线v片免费观看视频 | 国产又粗又猛又黄 | 国产小视频你懂的在线 | 亚洲精品国产精品国产 | 特片网久久 | 天天操月月操 | 91中文字幕在线观看 | 激情丁香在线 | 91在线视频播放 | 亚洲精品国偷拍自产在线观看蜜桃 | 日韩精品专区在线影院重磅 | 97av影院| 亚洲精品在线免费播放 | 国产免费中文字幕 | 丁香久久激情 | 成人av网站在线播放 | 免费看片成年人 | 久久黄网站 | 国内精品二区 | 99久久综合国产精品二区 | 蜜臀av免费一区二区三区 | 国产在线观看午夜 | .国产精品成人自产拍在线观看6 | 日韩电影一区二区三区在线观看 | 91精品国产自产在线观看永久 | 国产视频久久久 | 九九九视频精品 | 中文字幕高清免费日韩视频在线 | 91人人爽人人爽人人精88v | 久久精品99精品国产香蕉 | 精品福利av| 夜色资源网 | 婷婷丁香av | 日日爱999| 色妞久久福利网 | 欧美日韩破处 | 亚洲日本三级 | av一区二区三区在线观看 | 69久久99精品久久久久婷婷 | 久久免费精品国产 | 欧美在线视频一区二区三区 | 欧美日本在线视频 | 欧美日韩国产二区三区 | 成人免费观看av | av一本久道久久波多野结衣 | 国产精品久久久久久久久久尿 | 日韩日韩日韩日韩 | 天天操天天干天天操天天干 | 亚洲精品成人av在线 | 成人免费视频视频在线观看 免费 | 五月婷婷毛片 | 日日摸日日爽 | 麻豆视频国产精品 | 在线观看免费av网站 | 亚洲视频免费视频 | av黄色影院 | 国产精品久久久久久久婷婷 | 国产午夜视频在线观看 | 日韩伦理片一区二区三区 | 亚洲欧美在线观看视频 | 伊人看片| 天天操天天操天天爽 | 国产精品毛片网 | 免费看一级一片 | 久草视频在线免费 | 亚洲欧美视频网站 | 天天久久综合 | 国产精品二区在线观看 | 91在线视频导航 | 国产高清在线免费 | 狠狠色丁香久久婷婷综合_中 | 在线观看成人网 | 91亚洲欧美 | 日韩理论在线观看 | 色网站在线看 | 国产高清在线视频 | 国产精品一区二区免费看 | 国产成人久久久77777 | 日韩网| 狠狠色丁香婷婷综合久久片 | 91av成人| 国产欧美三级 | 亚洲免费公开视频 | 成人a视频片观看免费 | 亚洲精品欧美视频 | 日韩免费视频网站 | 麻豆综合网 | 亚洲精品国偷自产在线99热 | 国产91成人在在线播放 | 国产精品系列在线观看 | 欧美日韩视频免费 | 久久久综合 | 国产中文字幕一区二区三区 | 精品一区二区电影 | 在线韩国电影免费观影完整版 | 欧美午夜精品久久久久久浪潮 | 国产3p视频| 黄色小说视频在线 | 国产精品午夜久久久久久99热 | 成人在线观看影院 | 成人av日韩 | 国产精品99久久久久的智能播放 | 久久综合九色综合网站 | 久草免费在线视频观看 | 国产色拍拍拍拍在线精品 | 精品国模一区二区三区 | 国产精品久久 | 精品日韩在线一区 | 2018好看的中文在线观看 | 亚洲久草网 | 日韩精选在线 | 成人h电影在线观看 | 国产成人在线综合 | 六月丁香综合 | 精品国产成人在线影院 | 区一区二在线 | 午夜av片 | 国产精品久久在线 | 91av官网 | 精品在线视频一区 | 成人av av在线 | 91桃色免费观看 | 中文字幕日韩国产 | 免费看的黄网站软件 | 伊人婷婷激情 | 99免费在线观看 | 日本最新中文字幕 | 伊人影院在线观看 | 国产 亚洲 欧美 在线 | 久久激情视频网 | 久久久久久久久黄色 | 9久久精品 | 精品国产一区二区三区久久久久久 | 国产成人精品久久久久 | 亚洲一级黄色大片 | 欧美一区二区三区在线播放 | www.狠狠色.com| 黄色网www | 五月开心婷婷 | 丁香婷五月 | 99精品免费久久久久久日本 | 久草国产精品 | 中文字幕 第二区 | 国产裸体无遮挡 | 久久在线精品视频 | 91成人看片 | 99精品一区二区 | 久久天天综合网 | 国产精品久久久99 | 久久久久国产精品免费 | 成人福利在线观看 | 亚洲自拍偷拍色图 | 日韩天堂在线观看 | 日本在线免费看 | 色88久久| 最新日本中文字幕 | 在线视频日韩一区 | 国产97av| 精品一区 精品二区 | 日韩精品一区二区三区水蜜桃 | 国产资源网站 | 亚洲 中文字幕av | 欧美成年性 | 特级a老妇做爰全过程 | 黄色软件大全网站 | 国产视频在线免费观看 | 成人一区在线观看 | 久草在线观看视频免费 | www.久久久com | 国产一区二区在线播放视频 | 五月婷婷在线观看 | 五月婷婷色播 | 国产精品毛片久久久久久久久久99999999 | 午夜丁香网 | av资源免费看 | 国产一区二区免费 | 日韩一三区 | av色影院| 手机成人av在线 | 国产成人综| 黄色中文字幕在线 | 精品国产一二三 | 欧美精品中文字幕亚洲专区 | 99热这里只有精品8 久久综合毛片 | 免费电影一区二区三区 | 久久久黄色免费网站 | 日本精品久久久久影院 | 国产视频欧美视频 | 97精品国产91久久久久久久 | 久久精品伊人 | 伊人久久一区 | 亚洲国产中文字幕 | 免费亚洲视频 | 99久久精品国产观看 | 久久国产手机看片 | 美女久久网站 | 激情欧美在线观看 | 亚洲精品国久久99热 | 午夜国产福利在线观看 | 91福利社在线观看 | 久久成人国产精品免费软件 | 超黄视频网站 | 日韩网 | 97成人在线观看 | 激情五月婷婷激情 | 玖操| 黄色av免费电影 | 天天碰天天操视频 | 久久精品国产亚洲精品 | 日韩在线观看不卡 | 91精品国产91 | 久久久久免费精品国产小说色大师 | 91久久国产综合精品女同国语 | 亚洲草视频 | 国产精品免费视频一区二区 | 日韩精品中文字幕在线观看 | 国产精品久久久影视 | 日韩激情中文字幕 | 99热这里是精品 | 超碰在线91 | 91在线国产观看 | 久久国产福利 | 国产91电影在线观看 | 91大神电影 | 国产福利91精品 | a黄在线观看 | 亚洲开心激情 | 欧美激情另类 | 亚洲免费av网站 | 久色小说 | 我爱av激情网 | 欧美人体xx | 久久国产精品一区二区三区四区 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 天天操天天色天天射 | 国产中文字幕一区二区 | 国产综合视频在线观看 | 黄色精品一区 | 午夜免费福利视频 | 国产一级二级三级在线观看 | 国产精品一级在线 | 日韩有码在线播放 | 天天爽夜夜爽精品视频婷婷 | 色多多视频在线观看 | 九色最新网址 | 国产精品久久久亚洲 | 久久国产免费看 | 成年人视频在线 | 黄色国产成人 | 国产精品毛片久久久 | 日韩资源在线 | 人人插人人艹 | 在线观看日韩专区 | 国产黄影院色大全免费 | 日韩一级成人av | 久久精品99国产国产 | www.黄色 | 91在线免费视频观看 | 五月天婷婷在线视频 | 美女视频永久黄网站免费观看国产 | 在线观看免费国产小视频 | 免费a视频| 在线视频麻豆 | 成人黄色中文字幕 | 欧美粗又大 | 又爽又黄又无遮挡网站动态图 | 九九国产视频 | 成人在线视频在线观看 | 国产成人精品综合久久久久99 | 色婷婷视频 | 日日草天天草 | 国产一卡久久电影永久 | 麻豆国产视频 | 久久国产成人午夜av影院潦草 | 久久久香蕉视频 | 免费日韩精品 | 在线成人国产 | 婷婷久久婷婷 | 成人91在线观看 | 中文字幕美女免费在线 | 在线免费高清视频 | 国产精品美女久久久久久免费 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 国产一区国产二区在线观看 | 亚洲视频专区在线 | 国产69精品久久99不卡的观看体验 | 日韩视频a| 色99久久 | 成年人在线观看网站 | 91福利小视频 | 久久夜夜夜 | 特级西西444www大胆高清无视频 | 可以免费看av | 国产人成精品一区二区三 | 香蕉视频4aa | av导航福利 | 97碰碰精品嫩模在线播放 | 日韩h在线观看 | 黄色福利网 | 男女精品久久 | 色婷婷成人 | www.com黄色| 日本特黄特色aaa大片免费 | 亚洲h视频在线 | 操操碰 | 综合久久五月天 | 麻豆小视频在线观看 | 丝袜网站在线观看 | 国产96在线观看 | 国产精品电影一区二区 | 黄色免费看片网站 | 九九天堂 | 97视频人人免费看 | 免费在线观看黄网站 | 色综合久久久久综合体桃花网 | 日韩黄色软件 | 一区二区三区高清 | 色噜噜日韩精品欧美一区二区 | 午夜av在线免费 | 久草在线视频中文 | 国产午夜精品免费一区二区三区视频 | 91色国产在线 | 亚洲理论在线观看 | 91视频专区| 国产精品自拍av | 亚洲影视九九影院在线观看 | 区一区二区三区中文字幕 | 草久久精品| 国产亚洲精品久久网站 | 日韩精品一区二区三区在线播放 | 亚洲国产成人久久综合 | 国产精品白丝jk白祙 | 97av视频在线观看 | 日韩精品一区二区三区三炮视频 | 久久精品黄色 | 91麻豆产精品久久久久久 | 色免费在线| 亚洲国产精品成人av | 欧美视频www| 成人免费观看视频大全 | 国产一区二区影院 | 国产涩图 | 99热精品免费观看 | 激情综合啪 | 欧美日本三级 | av性在线| 日韩videos| 国产精品国产毛片 | 久久a国产| 精品女同一区二区三区在线观看 | 国产精品高潮呻吟久久av无 | 午夜精品久久久久久久久久久久 | 在线观看岛国 | 国产高清av| 欧美精品久久久久久久亚洲调教 | 中文字幕亚洲综合久久五月天色无吗'' | 国产精品免费成人 | 成年人av在线播放 | 超碰公开97 | 成年人免费av网站 | 最新av在线播放 | 九色91视频| av一区二区三区在线 | 日韩亚洲欧美中文字幕 | 欧美日韩在线免费观看视频 | 免费电影一区二区三区 | 一级a毛片高清视频 | 狠狠色丁香婷婷综合久小说久 | 成人免费xxx在线观看 | 91亚洲精| 少妇av片 | 日韩综合色 | 97av免费视频 | 久久超级碰 | 国产精品免费久久 | 国产精久久| 亚洲视频精选 | 欧美狠狠操 | 国产一级二级在线 | 黄色一及电影 | 88av视频 | 久草精品视频 | 国产一二区精品 | 在线性视频日韩欧美 | 天天干天天操天天 | 精品不卡视频 | 亚洲日b视频 | 国产精品成人免费一区久久羞羞 | 新版资源中文在线观看 | 欧美日韩国产二区三区 | 天天曰视频 | 奇米四色影狠狠爱7777 | 91av视频观看 | 国产精品男女 | 九九精品毛片 | 欧美一二区在线 | 激情综合色图 | 欧美日韩视频在线观看一区二区 | 亚洲三级性片 | 91亚洲狠狠婷婷综合久久久 | 日韩特级黄色片 | 日韩免费av片 | 在线观看国产一区 | 综合久久网站 | 国产成人精品一区一区一区 | 日韩在线色视频 | 最新av在线播放 | 激情网在线观看 | 99电影456麻豆 | 欧美国产一区在线 | 日本黄色免费网站 | 国产精品久久久久久久久免费 | 婷婷色网视频在线播放 | 国产精品视频地址 | 国产亚洲片 | 九九热国产 | 精品久久免费 | 99久热精品 | 九九热re| 狠狠干中文字幕 | 超碰在线个人 | 亚洲亚洲精品在线观看 | 国内成人精品视频 | 96精品在线 | 成人在线视频免费看 | 欧美激情va永久在线播放 | 操天天操 | 欧美性黑人 | 亚洲 欧美 另类人妖 | 精品久久久久久一区二区里番 | 精品黄色在线观看 | 午夜精品久久久久久久99水蜜桃 | 久久精品1区2区 | 亚洲理论在线观看 | 中文字幕精品一区二区三区电影 | 国产一级视频免费看 | 午夜av免费 | 九色在线| 亚洲午夜久久久久久久久久久 | 日本视频网 | 成人毛片一区 | 在线一级片 | 久久香蕉影视 | 超碰在线观看av | 国产亚洲视频中文字幕视频 | 美女在线观看网站 | 日韩色综合网 | 中文在线免费看视频 | 在线观看中文av | 国产一级久久 | 五月婷婷视频在线 | 成人国产精品久久久春色 | 高清av免费一区中文字幕 | 精品成人a区在线观看 | 亚洲经典精品 | 人人澡澡人人 | 久久国产精品久久国产精品 | 亚洲欧美日本一区二区三区 | 成人网看片 | 欧美一区二区在线 | 91在线观看视频网站 | 国产精品igao视频网网址 | 精品一区二区日韩 | 蜜臀av一区| 黄色激情网址 | 久久这里只有精品9 | 伊人看片| 国模视频一区二区三区 | a视频免费在线观看 | 国产精彩视频一区二区 | 亚洲激情综合网 | 日韩a在线观看 | 中文字幕免费观看 | av短片在线观看 | 日韩av网页 | 黄色成人小视频 | 国产一级片视频 | 日韩大片免费在线观看 | 亚洲黄色在线 | 一区二区三区在线免费观看视频 | 成年人黄色大片在线 | 欧美aⅴ在线观看 | 五月天国产 | 中文字幕欧美日韩va免费视频 | 精品在线观看免费 | 国产午夜三级一区二区三 | 99免费看片 | 国语精品免费视频 | 国产美女精品人人做人人爽 | 91传媒免费在线观看 | 日韩精品一区二区三区电影 | 中文字幕在线播放av | 又黄又爽又刺激 | 一级片黄色片网站 | 91大神免费视频 | 国产五月色婷婷六月丁香视频 | 黄色网在线免费观看 | 最新中文字幕在线播放 | 免费网站在线观看人 | 日韩资源在线播放 | 免费成人短视频 | 久久久久久久久久久久亚洲 | 91看片淫黄大片在线播放 | 久久久高清 | 久久国产精品一国产精品 | 亚洲黄色软件 | 九九热精品在线 | 亚洲免费婷婷 | 精品国产激情 | 在线成人中文字幕 | 日韩高清免费在线观看 | 一级片视频在线 | 欧美日韩精品在线 | 日本在线观看一区二区 | 久久久国产精品视频 | 日本性高潮视频 | 午夜av片 | 国内精品福利视频 | 免费看的黄色网 | 日韩视频中文字幕在线观看 | 激情五月在线视频 | 韩国在线视频一区 | 91伊人| 亚洲爱爱视频 | 日本韩国欧美在线观看 | 亚洲午夜电影网 | www.久久成人 | 久久免费99精品久久久久久 | 亚洲另类xxxx | 97超碰国产精品 | 亚洲精品字幕在线 | 亚洲成年人av | 国产精品电影一区二区 | 成人网在线免费视频 | 日韩精品免费一区二区三区 | 狠狠色丁香久久婷婷综合_中 | 就操操久久 | 久久国产欧美日韩精品 | 亚洲综合精品视频 | av不卡免费看 | 亚洲精品在线免费 | 99精品国产在热久久 | 欧美有色 | 精品国产免费观看 | a天堂中文在线 | 欧美精选一区二区三区 | 夜色资源站国产www在线视频 | 亚洲美女精品区人人人人 | 人人澡人人添人人爽一区二区 | 欧美黑人xxxx猛性大交 | 久久精品在线 | 精品久久福利 | 精品在线观看一区二区 | 久久人人爽av | 国产精品igao视频网入口 | 婷婷日日 | 国产成人三级在线观看 | 亚洲经典精品 | 黄色片免费电影 | 成人网页在线免费观看 | 免费黄色小网站 | www.com.日本一级 | 天天狠狠干 | 国产97在线视频 | 色爱区综合激月婷婷 | 欧美日本中文字幕 | 天天色天天射天天综合网 | 黄色的视频网站 | 91精品国产99久久久久久红楼 | 国产高清在线免费视频 | 亚洲精品午夜久久久久久久 | 日韩久久精品一区二区 | 久久久久综合网 | 高清在线一区二区 | 波多野结衣一区 | 久久精品欧美一区二区三区麻豆 | av黄色影院 | 超碰在线人人97 | 五月婷婷,六月丁香 | 久久精品一区二区国产 | 免费黄色网址大全 | 国产美女网 | 蜜臀av性久久久久av蜜臀三区 | 天天躁日日躁狠狠躁av中文 | 中文字幕在线观看资源 | a在线观看免费视频 | 97夜夜澡人人双人人人喊 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 欧美午夜一区二区福利视频 | 91福利区一区二区三区 | av不卡在线看 | 国产在线更新 | 欧美在线久久 | 国产精品自产拍 | 久久 地址 | 91女人18片女毛片60分钟 | 中文字幕在线观看网址 | 日日干综合 | 欧美巨乳网 | 成人网页在线免费观看 | 亚洲黄色av | 成人h视频在线播放 | 日韩av电影中文字幕 | 国产精品一区二区无线 | 视频在线播放国产 | 久久综合五月天 | 激情五月色播五月 | 六月丁香激情综合 | a视频在线播放 | 最新av观看 | 久久国产精品久久国产精品 | av成人免费在线看 | 成人国产精品久久久久久亚洲 | 五月天婷婷在线观看视频 | 久久久久久久久久伊人 | 91精品国产九九九久久久亚洲 | 欧美午夜剧场 | 天天操狠狠操夜夜操 | 欧美激情视频三区 | 欧美夫妻性生活电影 | 亚洲午夜久久久久久久久电影网 | 波多野结衣电影一区二区三区 | 成人av免费在线播放 | 综合色狠狠 | 男女激情片在线观看 | 99r在线视频 | 亚洲综合丁香 | 色偷偷网站视频 | 国产精选视频 | 国产一区二区午夜 | 97超碰人人模人人人爽人人爱 | 在线免费视频 你懂得 | 一区 在线 影院 | a视频免费看 | 99热最新网址 | 97天堂网 | 国产精品白浆视频 | 亚洲精品国偷拍自产在线观看蜜桃 | 五月婷婷综合激情 | 中文不卡视频 | 久久久五月天 | 日韩综合在线观看 | www.夜夜草 | 五月婷激情 | 香蕉视频最新网址 | 久久精品久久久久久久 | 日本资源中文字幕在线 | 日韩动漫免费观看高清完整版在线观看 | 天天爱天天射天天干天天 | www在线免费观看 | 久久天天躁狠狠躁亚洲综合公司 | av免费看av | 国产一级淫片免费看 | 国产高清 不卡 | 国产h在线播放 | 91精品在线视频观看 | 综合久久久 | 91在线免费观看国产 | 国产原创av在线 | 国产精品午夜久久久久久99热 | 久草成人在线 | 夜夜爽88888免费视频4848 | 亚洲精品久久久久久久不卡四虎 | 亚洲成人频道 | 91人人澡 | 成人在线视频在线观看 | 中文字幕精品三级久久久 | 日本免费一二三区 | 免费视频一区 | 亚洲黄色一级大片 | 免费在线观看黄 | 欧美黑人xxxx猛性大交 | 久久99久久99精品免观看软件 | 久久九九精品久久 | 日韩大片在线 | 色视频在线观看免费 | 国产精品久久久久久a | 亚洲成人精品久久久 | av线上免费看 | 日韩视频1区 | 免费av在线播放 | 国产91精品久久久久 | 在线香蕉视频 | 国产日韩一区在线 | av成人在线电影 | 国产麻豆精品一区 | 亚州精品视频 | 美女网站视频久久 | 国产免费观看高清完整版 | 经典三级一区 | 天天拍夜夜拍 | 国产中文字幕网 | 超级av在线| 久久蜜臀av | 国产一区二区电影在线观看 | 婷婷综合久久 | 久久久高清视频 | 最近免费中文字幕 | 久久av在线播放 | 涩涩网站在线播放 | 色激情五月 | www.久久婷婷 |