《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > Linux多線程編程技術在擲骰子游戲模擬程序中的應用
Linux多線程編程技術在擲骰子游戲模擬程序中的應用
2016年微型機與應用第09期
申時全
(廣東科技學院 計算機系, 廣東 東莞 523000)
摘要: 為了模擬概率事件,針對擲骰子游戲規則,應用Linux系統下C語言多線程機制以及多個二值信號量以實現多個線程間循環同步。通過偽隨機數模擬擲骰子的點數,設計并實現了一個基于多線程方式模擬4人擲骰子游戲程序,并對1 000次游戲中每個游戲者獲勝的次數進行統計。可以看出,在多次游戲中,每個游戲者獲勝的概率符合概率分布規律。程序運行結果表明,利用信號量可有效實現多個線程間的同步與互斥,并簡化了程序結構。
Abstract:
Key words :

  申時全

  (廣東科技學院 計算機系, 廣東 東莞 523000)

  摘要:為了模擬概率事件,針對擲骰子游戲規則,應用Linux系統下C語言多線程機制以及多個二值信號量以實現多個線程間循環同步。通過偽隨機數模擬擲骰子的點數,設計并實現了一個基于多線程方式模擬4人擲骰子游戲程序,并對1 000次游戲中每個游戲者獲勝的次數進行統計。可以看出,在多次游戲中,每個游戲者獲勝的概率符合概率分布規律。程序運行結果表明,利用信號量可有效實現多個線程間的同步與互斥,并簡化了程序結構。

  關鍵詞:多線程;線程同步;隨機數;擲骰子游戲程序

0引言

  概率事件是日常生活中經常會遇到的,如出現某種狀況的可能性,產品出現故障的幾率等。本文通過一個模擬擲骰子游戲程序來模擬人們在某種博弈規則下的獲勝概率。采用線程編程模式,用一個線程模擬一個游戲者擲下6個骰子,并按一定規則給出“叫點”數。通過1 000次游戲,統計出每個游戲者獲勝次數N,則獲勝概率為N/1 000。

  線程是Linux系統的一個執行序列,其處于進程中,多個線程共享同一進程的存儲空間和資源。操作系統以進程為單位分配資源并進行調度。但在多進程并發運行的系統中,進程調度開銷比較大[1]。按一般定義:線程是一個進程內部的一個控制序列。在一個進程中創建新的線程運行時,該線程會擁有自己的運行棧,并與創建它的線程共享全局變量等系統資源。一個進程中的多個線程可以處于并發運行狀態。因此,要使得一個進程中多個線程有序地工作,并有效地共享資源,就需要在線程之間進行有效的同步和互斥控制[2]。Linux系統提供了多種手段實現進程間、線程間的同步和互斥。本文介紹Linux系統下進行多線程編程中線程創建、線程掛起、線程同步和互斥等有關問題,設計了一個模擬4人進行擲骰子游戲的程序,說明了多線程編程中的同步與互斥編程技術。

  為了實現游戲中擲骰子點數的隨機性,需要用到偽隨機數生成函數。偽隨機數在很多領域中都有應用[3]。通過C標準庫中隨機函數rand( )及相關函數的應用,給出解決指定范圍隨機整數生成通用方法。

  通過指定一個較大的游戲次數(如1 000),可以統計出各游戲者獲勝概率,按照隨機數的出現概率,則每個游戲者獲勝次數相差不會太大(當然也會有例外)。

1Linux多線程編程中的幾個主要函數

  在Linux系統中,線程系統調用函數定義在pthread.h中[2]。因此在程序中應有如下指令:

  #include <pthread.h>

  1.1與線程編程相關的幾個常用函數

  1.1.1線程創建函數

  建立線程的函數pthread_create(),函數原型定義為:

  int pthread_create(pthread_t *tid,const pthread_attr_t *attr,void *(*start_rtn)(void),void *arg);

  參數tid是一個指向pthread_t類型指針,如果創建線程成功,則在該指針所指變量中寫入線程的標識符(ID號);參數attr是指向線程屬性的結構體指針,一般無需設定,只要設置為NULL即可;參數start_rtn用來傳遞一個函數地址,該函數應返回一個任意類型指針,該參數用一個定義了的函數名設置即可;參數arg是傳遞給函數的參數指針,可以為任何類型。

  1.1.2線程退出函數

  線程退出函數原型定義為:

  void pthread_exit(void *retval);

  通過調用該函數終止線程執行,返回一個指向某對象的指針(注意不能用于返回指向局部變量的指針)。

  1.1.3使線程掛起的函數

  函數原型定義為:

  int pthread_join(pthread_t thread, void **thread_rtn);

  參數thread指定要等待的線程;參數thread_rtn是一個指針,指向另一個指針,該指針指向線程返回值。

  1.1.4獲得本線程ID的函數

  圖1游戲者用戶鏈表函數原型定義為:

  pthread_t pthread_self(void);

  通過調用該函數,可獲得當前執行的線程標識符(ID號)。

  1.1.5判斷兩個線程是否為同一線程的函數

  函數原型定義為:

  int pthread_equal(pthread_t pid1,pthread_t pid2);

  1.2線程同步與互斥的幾個函數

  在Linux系統中,有關進程、線程同步與互斥的手段有多種,這里只涉及有關的信號量函數[4]。信號量類型sem_t及相關函數定義在semaphore.h中,因此在程序頭部應包含 #include<semaphore.h> 指令。

  1.2.1創建信號量函數sem_init()

  函數原型定義:

  int sem_init (sem_t *sem,int pshared,unsigned inti value);

  該函數初始化一個信號量,參數sem是指向信號量的指針;參數pshared為0指示該信號量是當前進程的局部信號量,在線程編程中,該參數置為0;參數value是信號量的值。

  1.2.2控制信號量的函數

  函數原型定義如下:

  int sem_wait(sem_t *sem);

  int sem_post(sem_t *sem);

  這兩個函數分別對信號量sem執行P操作和V操作。兩個函數的參數都是一個sem_t 類型指針,指向由sem_init調用初始化的信號量。

  1.2.3銷毀信號量函數

  函數原型定義為:

  int sem_destroy(sem_t *sem);

  用完一個信號量后應銷毀該信號量,并清理相關資源。該函數以一個信號量指針為參數,清理該信號量擁有的所有資源并銷毀這個信號量。

2擲骰子游戲模擬程序設計技術

  2.1游戲規則定義

  假定有4個游戲參與者,每人輪流擲下5個骰子,然后找出點數相同最多的點數,例如5個骰子中,出現最多的是3個4點,那就給出一個“叫點數”,這個叫點數就是出現相同點數最多的個數加1及點數,如3個4點,則“叫點數”為(4,4)。規定所有1點可以代替其他任意點數,如有2個1點,3個3點,則可叫5個3點。最后總點數(個數乘點數)最大者為獲勝者,若在一輪游戲中,有2個以上具有相同點數(最大),則多人同時獲勝,其余游戲者為失敗。這個規則由程序模擬,與實際游戲中規則有些不同。

  2.2程序功能定義

  該模擬程序應先輸入游戲者姓名,然后在屏幕上開列4個顯示窗口,用于顯示每個游戲者的點數分布(5個)、叫點數、總盤數、獲勝計數值。

  2.3程序實現技術

  為了使用戶界面良好,使用Linux系統庫curses支持,使用該庫中的輸出函數實現窗口數據輸出。另外需要用到如下技術:

  (1)鏈表技術

  在許多情況下,使用循環鏈表作為數據存儲便于程序訪問[5]。用一個單向循環鏈表存儲游戲用戶的數據,定義節點結構如下:

  typedef struct UserNode{

  char name[21];//用戶名字

  intcount;//累計次數

  intscore[MAX_NUM];//存放每次點數

  intwin_count;//累計獲勝次數

  Struct UserNode*next;

  }Node_type;

  把4個游戲者用戶節點組成一個帶頭節點的循環鏈表結構,如圖1所示。

001.jpg

  (2)安全輸入技術

  為了輸入用戶名,且必須在指定屏幕位置輸入,用戶輸入時不能超過限定字符個數(例如20),否則會出現運行錯誤。因此不能使用常規標準庫函數gets( )輸入,而是另外編寫一個函數GetString(char *str,int len)來實現。該函數中,通過調用Linux系統無回顯字符輸入函數getch( )讀取字符,并排除非法字符,限制輸入字符數小于或等于參數len。其源程序實現限于篇幅不再贅述。

  (3)輸入游戲者姓名創建用戶鏈表結構

  程序中定義一個用于建立鏈表的函數Node_type *creat_List(int n),這個函數建立具有n個用戶節點的循環鏈表,返回鏈表頭指針。該函數調用前面給出的函數GetString( )輸入游戲者姓名。

  (4)生成隨機數問題

  在C語言的標準庫中定義了隨機數生成函數rand( ),用于生成0~RAND_MAX的整數。程序采用單向函數反復迭代,周期性地輸出偽隨機序列[3]。一般,如果要生成一個給定范圍(例如1~9)的隨機數,都會使用如下語句:

  rnd_num=rand()%9+1;

  這樣不符合隨機分布原則。為了防止運行程序每次產生的都是同一隨機數列,有必要初始化隨機種子。使用srand((int)time(NULL))來將偽隨機數生成器初始化為某一個不可預測點,在程序初始化時執行。

  下面給出一個用于產生給定范圍的隨機數函數。

  int RandomInt(int low,int high){

  int rnd;double d;

  d=(double)rand( )/((double)RAND_MAX+1);

  rnd=(int)(d*(high-low+1));

  return rnd;

  }

  (5)多窗口顯示技術

  為了在每個獨立窗口顯示一個游戲用戶線程狀態數據,需要用到Linux中curses庫,該庫支持頭文件curses.h。支持窗口顯示的有關函數定義在這個頭文件中。下面列出幾個相關函數:

  創建窗口函數,函數原型:

  WINDOW *newwin(int line,int cols,int start_y, int start_x);

  在窗口指定位置進行格式化輸出,函數原型:

  int mvwprintw(WINDOW *win, int row,int col, char *format,…);

  限于篇幅,其他函數不再列出。

  (6)如何解決程序中線程同步和互斥問題

  整個游戲程序由4個游戲者用戶線程和一個主線程構成。主線程和4個游戲者用戶線程的關系是:主線程做好初始化工作,創建4個游戲者線程,然后做好初始準備,進入游戲循環控制。因為游戲者線程一旦創建就會開始執行,所以必須處理好主線程與各個游戲用戶線程之間的同步關系。每個線程用2個信號量實現同步,通過參數傳遞方式將信號量傳到線程中,程序中設置5個共享的sem_t信號量。同步順序關系如圖2所示。

  

002.jpg

  對于多線程程序,每個線程都可并發運行,但對于訪問共享數據必須是互斥訪問,即滿足互斥關系[6]。使用一個互斥信號量實現共享數據的互斥訪問。主線程必須使第一個游戲者線程正確進入,然后是第二個、第三個、第四個游戲者線程執行,產生游戲數據并修改了狀態數據后,主線程處理結果數據,判定每個游戲者勝負,修改其獲勝統計值,然后進入下一輪游戲。通過共享一個全局工作指針work實現節點數據修改。

3程序實現

  對于4個游戲者線程的實現,可以分別實現4個線程控制序列,即定義4個線程函數。由于每個線程行為是一致的,可以在創建線程時傳遞一個變量i的指針給線程實現同步。

  創建線程語句:

  pthread_crete(&pid[i-1],NULL,gamer,(void *)&i);

  在屏幕上實現多窗口顯示效果,顯示游戲者狀態數據,程序中模擬4個游戲者輪流擲骰子MAX_NUM(最多1 000)次,線程負責生成5個隨機數(1~6)表示擲下5個骰子。用一個全局指針變量work指向每個線程的信息節點。一輪游戲結束,work指針指向頭節點,主線程則在處理一輪游戲的勝負決斷后,將work指向首節點,開始下一輪游戲。主線程程序結構如圖3所示,游戲者線程程序結構如圖4所示。

  

003.jpg

004.jpg

  運行這個程序需要用到curses庫和pthread庫,編譯時使用選項lpthreadlcurses。經過程序運行,表明采用的同步控制方法是有效的,獲得了預期效果。表1所示為其中一組運行結果。

005.jpg

4結論

  模擬4人進行擲骰子游戲的多線程游戲程序驗證了隨機數的統計性能,也說明了多線程編程方法的可行性。通過多線程編程可以很好地解決并發性問題[6]。本文給出的模擬程序工作模式,對于具有多個循環控制對象的系統的應用編程具有參考價值[7],只要將相關操作語句更換成循環控制節點對象的控制(測量)操作即可,其程序采用的多線程同步方法是通用的[8]。另外,如果將此程序移植到網絡模式,每個線程改為與實際游戲者進行通信的程序語句方式,就可以實現網絡下的游戲程序,可以把叫點過程改為接收遠程游戲者輸入的叫點數。當然,要實現網絡模式下的游戲程序還有許多工作要做。在具有多核處理器情況下采用多線程編程將會獲得更高的運行效率。

參考文獻

  [1] 何宏宇, 劉正熙, 陳正茂. 基于Linux的多進程MDSL研究與設計[J]. 四川大學學報(自然科學版), 2013, 50(1): 4650.

  [2] 劉金, 胡創, 胡明,等. 多線程環境下基于多預取點的文件預取[J]. 計算機應用, 2012, 32(6): 17131716, 1720.

  [3] 高樹靜, 曲英杰, 宋廷強. 基于單向函數的偽隨機數發生器[J]. 計算機研究與發展, 2015, 52(6): 13941399.

  [4] 彭玉柱.基于多線程機制的電力數據采集系統設計與實現[J]. 計算機應用與軟件, 2015,32(1):7881.

  [5] 何先波, 李明東, 王錦, 等. Linux操作系統中通用雙向循環鏈表的實現分析[J]. 西華師范大學學報(自然科學版), 2012, 33(2): 213217.

  [6] 謝文斌, 陳學適, 姜忠鼎. 并行繪制游戲系統中同步傳輸協議的設計與實現[J]. 計算機應用與軟件, 2014,31(10):99103.

  [7] 趙源, 姜小峰. 基于多線程技術的自動測試系統優化設計[J]. 計算機應用, 2014, 34 (7):21242128.

  [8] 吳宇佳, 浦偉, 周妍,等. Linux下多線程數據采集研究與實現[J]. 信息安全與通信保密, 2012(7):9294.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 日本一区二区三区在线观看 | 久久精品国产精品亚洲 | 久久久嫩草 | 九色com| 在线观看国产成人av片 | 狠狠色狠狠色88综合日日91 | 伊人夜夜躁av伊人久久 | 国产女人第一次做爰毛片 | 黄色福利 | 成在线人永久免费视频播放 | 色偷偷免费 | 姝姝窝人体www聚色窝 | 日本黄色生活片 | 亚洲综合影院 | 成人在线观看黄色 | 国产精品18久久久久vr使用方法 | 美国黄色a级片 | 污视频在线 | 日韩精品一区二区免费视频 | 国产99久久久国产精品免费高清 | 免费日韩一区二区 | 加勒比无码一区二区三区 | 亚洲精品一区久久久久久 | 欧美伦理片网站 | 亚洲一本之道高清乱码 | 天堂在/线中文在线资源 官网 | 亚洲视频一区二区 | 又黄又爽又色无遮挡免费软件国外 | 欧美成人免费一区二区 | 日产精品无人区 | 日韩精品无码一本二本三本色 | 日本一区二区三区在线观看视频 | 欧美成人一区二区三区片免费 | 亚洲蜜桃v妇女 | 亚洲综合欧美 | 亚洲欧美中文字幕在线一区 | 99热九九这里只有精品10 | 亚洲国产片 | 日韩夜夜高潮夜夜爽无码 | 精品久久久久久久久久久久 | 无码日韩精品一区二区人妻 | 日本久久亚洲 | 区一区二视频 | 天堂在线亚洲 | 亚洲爆乳精品无码一区二区三区 | 亚洲无套| 中文字幕亚洲在线 | 女性爱爱视频 | 四川少妇xxx奶大xxx | 亚洲人xxx| 97理伦| 自慰小少妇毛又多又黑流白浆 | 色噜噜在线播放 | 免费看黄色a级片 | 黄色网久久| 亚洲视频91| 中文字幕精品无码一区二区三区 | 黄色欧美在线观看 | 中文字幕人妻熟女人妻 | 不卡三区| 国产午夜片无码区在线播放 | 成人一在线视频日韩国产 | 高清无码午夜福利视频 | 少妇淫片aaaaa毛片叫床爽 | 色偷偷中文字幕 | 国产三级av在线播放 | 尤物视频网站在线观看 | 国产精品日韩欧美一区二区 | 狠狠做深爱婷婷久久综合一区 | 成人涩涩软件 | 欧美视频在线免费 | 久久无码人妻影院 | 欧美天堂一区 | 欧美日韩日本国产 | 免费无码av一区二区 | 亚洲在线视频免费观看 | 日本一卡2卡3卡四卡精品网站 | 狠狠狠色丁香婷婷综合久久88 | 天堂av影院 | 国产一级视频免费观看 | 加比勒色综合久久 | 欧美日本91精品久久久久 | 亚洲成av人片一区二区密柚 | 亚洲精品久久久久58 | 8x8ⅹ8成人免费视频观看 | 国内自拍水超多 | 国产午夜福利短视频 | 久久精品噜噜噜成人 | 亚洲中字在线 | www国产精| 日韩一卡二卡在线 | 久久日韩乱码一二三四区别 | 国产又黄又爽又刺激的免费网址 | 成人作爱视频 | 男女性色大片免费网站 | 91福利免费| 中国美女毛茸茸撒尿 | av导航大全 | 久久精品一二三区 | 人与野鲁毛片在线视频 | 最新日韩精品中文字幕 | 中文字幕精品在线观看 | dy888亚洲精品一区二区三区 | 天天天天躁天天爱天天碰2018 | 国产成年无码久久久久毛片 | 久久精品视频在线 | 97色在线观看免费视频 | 日本午夜无人区毛片私人影院 | 国产97色在线 | 日韩 | 91爱爱影院 | 阿v视频在线免费观看 | 91亚洲精品久久久 | 日本亚洲欧美在线 | 欧美人与禽猛交狂配 | 欧美乱妇狂野欧美在线视频 | 久久精品a一国产成人免费网站 | 男女av在线| 91国在线视频 | 国产男女猛烈无遮掩视频免费网站 | 99久久无色码中文字幕婷婷 | 日一区二区 | 韩日视频在线 | 一色一性一乱一交一视频 | 午夜不卡av免费 | 96亚洲精品久 | 成人夜晚视频 | wwwav日韩| 亚洲精品久久久久久久久久 | 久草a视频 | 99热欧美| 成人福利在线 | 国产熟女一区二区三区五月婷 | porno中国ⅹxxxx偷拍 | 色哟哟免费在线观看 | 一本久久a精品一合区久久久 | 国产91精品入口 | 一本久久精品一区二区 | 欧美精品高清在线观看 | 亚洲综合国产一区二区三区 | 亚洲国产精品综合久久20 | 国产裸体无遮挡免费精品视频 | 亚洲色图激情 | av免费在线网站 | 久久精品亚洲精品国产色婷 | 国产精品无码久久av | 嫩草www| 国产精品第八页 | 亚洲国产日韩在线视频 | 亚洲高清色图 | 国产激情久久久久影院 | 无码国产精品一区二区免费i6 | 窝窝人体色www | av美女在线 | 欧美性生交大片免费看 | 欧洲一二三区 | 午夜天堂在线 | 亚洲精品一区中文字幕乱码 | 国产欧美日韩精品专区黑人 | 亚洲第一综合网站 | 在线观看免费一区 | 欧美精品久久久久久久自慰 | 欧美黄色大片免费观看 | 成年丰满熟妇午夜免费视频 | youjizz自拍| 52avavjizz亚洲精品 | 久久99精品国产麻豆91樱花 | 国产中老年妇女精品 | 日日摸夜夜骑 | 国产手机在线αⅴ片无码观看 | 亚洲一区二区三区乱码aⅴ 亚洲一区二区三区日本久久九 | 在线色导航| 国产在线无码精品电影网 | 91黑丝美女 | 日韩黄色毛片 | 不卡av免费在线观看 | 亚洲精品视频二区 | 日本黄网站色大片免费观看 | 日本在线播放 | 伊人88| av国产成人| 午夜天堂视频 | 久久96国产精品久久 | 成人免费三p在线观看 | 国产熟妇乱子伦视频在线观看 | 欧美日韩精品在线播放 | 四虎884aa成人精品 | 一本au道大尺码高清专区 | av噜噜在线 | 午夜高清福利 | 狠狠影视 | 男女做激情爱呻吟口述全过程 | 久久久久久国产精品免费免费 | 香蕉久草 | 国产无套精品一区二区 | www.av免费| 国产亚洲欧美日韩俺去了 | 亚洲国产成人精品片在线观看 | 中文字幕在线网 | 美女内内免费看 | 亚洲精品国产主播一区 | 国产中文字幕在线播放 | 好色999| 四虎国产精品免费观看视频优播 | 在线观看一区二区视频 | 摸少妇的奶她呻吟不断爽视频 | 欧美不卡视频 | 97超碰人人爱 | 怡红院一区二区 | 亚洲色欧美 | 国产一区二区三区四区三区 | 高h文在线| 免费观看日批视频 | 婷婷五月在线视频 | 91久久精品国产91久久性色tv | 99热这里只有精品9 99热这里只有精品99 | 福利片av | 欧美日皮视频 | 免费人成无码大片在线观看 | 亚洲日本欧美日韩中文字幕 | 97精品在线观看 | 大学生一级一片全黄 | 麻豆毛片| 伊人久久影院 | 欧美变态另类刺激 | 中文字幕视频二区 | 久久久老熟女一区二区三区 | 五月丁香啪啪 | 美女的mm免费视频 | 99久久免费国产精精品 | 97国产高清| 国产老熟妇精品观看 | 免费一区二区无码东京热 | 嫩草影院黄色 | 日日噜噜夜夜狠狠视频 | 友田真希中文字幕在线视频中 | 在线a天堂| 无码精品国产va在线观看 | 拍摄av现场失控高潮数次 | 日韩欧美操 | 国产精品久久久久久久久久久久午 | 91久久国产婷婷一区二区 | 国产免费又色又爽粗视频 | 美女网站全黄 | 天堂资源地址在线 | 亚洲成a∨人片在线观看不卡 | 欧美在线观看一区 | 在线视频一二区 | 中国香蕉视频 | 99久久人人爽亚洲精品美女 | 38在线视频 | 青青草99 | 国产精品igao| 日韩在线第二页 | 性色影院 | 伊人96| 国产精品人妻一区夜夜爱 | 九九九在线视频 | 中文天堂国产最新 | 日韩av大片 | 99热国产在线 | 青青草原av | 奴性白洁会所调教 | 成人午夜福利视频 | 疯狂的欧美乱大交 | 成年性午夜免费视频网站 | 色橹橹欧美在线观看视频高清 | 国产精品国产成人国产三级 | 欧美二级片 | av片免费 | 欧美综合日韩 | 黄色天堂av | 91自啪 | 亚洲www在线观看 | 91老司机在线 | 成人av图片| 日韩欧美黄色片 | 色呦呦网站 | 麻豆av少妇aa喷水 | 欧美三根一起进三p | 欧美日韩免费做爰视频 | 91视频免费看片 | 国产精品农村妇女白天高潮 | 成人免费视频免费观看 | 欧美性猛交 | 日日操影院 | 中文字幕亚洲一区 | 性俄罗斯交xxxxx免费视频 | 亚洲精品一区二区冲田杏梨 | 末发育娇小性色xxxxx视频 | 天天综合网天天综合 | 天天狠狠色综合图片区 | 我和岳疯狂性做爰全过程视频 | 成人动漫在线观看视频 | 内射国产内射夫妻免费频道 | 成年人在线观看视频免费 | 色图一区 | 精品国产一区二区三区四区vr | 免费看片黄色 | 懂色av一二三三区免费 | 成年人网站免费视频 | 国产内射老熟女aaaa∵ | 狠狠色噜噜狠狠狠888米奇视频 | 亚洲欧美系列 | 久久青青国产 | 成人影片一区免费观看 | 国产精品日韩一区二区三区 | 在线无码中文字幕一区 | 豆国产97在线 | 亚洲 | 亚洲成a人片在线观看中文 精品久久久久久久中文字幕 | 黄色大全免费看 | av黄色在线播放 | 亚洲肥老太bbw中国熟女 | 国产在线精品二区 | 国产91成人欧美精品另类动态 | 日韩高清av | 91精品婷婷国产综合久久竹菊 | 国产激情一区二区三区成人免费 | 成人动漫视频在线 | 中文字幕无码无码专区 | 筱田优全部av免费观看 | 日韩av网站在线观看 | 国产一级淫片a按摩推澡按摩 | 婷婷国产v亚洲v欧美久久 | 亚洲高清网 | 综合激情五月综合激情五月激情1 | 二区欧美 | 四虎网站免费观看视频 | www.婷婷| 亚洲精品一区二区三区在线观看 | 欧美色插 | 国产成人精品亚洲日本在线观看 | 免看一级片 | 亚洲性片| 色屁屁xxxxⅹ在线视频 | 一级作爱视频 | 偷国产乱人伦偷精品视频 | a免费视频 | 成年性生交大片免费看 | 日韩a毛片| 中文无码一区二区不卡av | 成人欧美一区二区三区黑人麻豆 | 国内精品在线播放 | 欧美一级在线免费观看 | 国产精品一区二区羞羞答答 | 国产普通话bbwbbwbbw | 欧美mv日韩mv国产网站app | 国产乱码精品一区二区三区精东 | 久久精品日产第一区二区 | 五月天中文字幕在线 | 欧美亚洲在线观看 | 黄网站在线播放 | 免费看一级特黄a大片 | 日韩欧美中文在线观看 | 全网免费在线播放视频入口 | 亚洲一区免费 | 色综合综合色 | 女人张开腿让男人桶个爽 | 日韩一区视频在线 | 久久这里只有精品23 | 日韩精品久久 | 男女无遮挡做爰猛烈视频 | 天天干狠狠 | 国产精品一区在线看 | 伊人久久一区二区 | 成人观看视频 | 玖玖在线播放 | x8ⅹ8成人成人少妇 xfplay2023成人资源站 | 污污的网站在线免费观看 | 国产偷窥盗摄一区二区 | 一级做a视频在线观看 | 精品h视频| 欧洲美熟女乱又伦 | 一本到免费视频 | 中文字幕无码av波多野吉衣 | 国产免费无码一区二区三区 | 亚洲 欧美 综合 另类 中字 | 性网爆门事件集合av | 國产一二三内射在线看片 | 色 综合 欧美 亚洲 国产 | 久久久999国产精品 久久久999精品视频 | 精品少妇一区二区三区 | 寂寞d奶大胸少妇 | 午夜视频在线播放 | 91久久婷婷国产一区二区三区 | 亚洲免费av网 | 天堂av8在线 | 亚洲国产中文字幕在线视频综合 | 性啪啪chinese东北老女人 | 国产精品久久久久久三级 | 老牛精品亚洲成av人片 | 动漫av网站 | 性色视频网站 | 亚洲最大成人av | 97caop| 国产综合网站 | av福利网址 | 欧美做受69 | 久久亚洲精品久久国产一区二区 | 另类图片亚洲色图 | 亚洲综合在线第一页 | 45分钟免费真人视频 | 紧身裙女教师三上悠亚红杏 | 精品免费视频 | 国产成年无码久久久久下载 | 超污网站在线看 | 国内自拍xxxx18 | 久久久观看| 免费99精品国产自在在线 | 极品少妇av | 日韩av第一页 | 伊人久久青青 | 日韩欧美视频一区二区三区 | 久久天天躁狠狠躁夜夜av | 另类 欧美 日韩 国产 在线 | 日本人又黄又爽又大又色 | 美女撒尿毛片视频免费看 | 在线观看v片 | 日韩黄色片网站 | 9色视频| 高潮毛片无遮挡高清免费视频 | 中国黄色毛片 大片 | 九九热视 | 中文字幕人妻熟女人妻洋洋 | 无码精品久久久久久人妻中字 | 性做久久久久久久 | 欧美性猛交xxxx久久久 | 美女网站免费观看视频 | 国产又粗又猛又爽又黄91 | 亚洲精品毛片一区二区三区 | 看全色黄大色黄大片 视频 欧美深度肠交惨叫 | 欧美xxxxx在线观看 | 成人羞羞国产免费图片 | 激情综合小说 | 国产精品毛片一区二区三区 | 久久国产午夜精品理论片最新版本 | 色屋永久 | 亚洲产国偷v产偷v自拍色戒 | 久久久久久午夜 | 国产欧美日韩视频在线 | 国产精品成人免费 | 亚洲成av人片香蕉片 | 性欧美巨大乳 | 777久久久免费精品国产 | 久精品在线 | 手机av在线不卡 | 成人做爰69片免费看网站野花 | 国产女人高潮叫床视频 | 国产一级片免费播放 | jizz另类| 极品尤物魔鬼身材啪啪仙踪林 | 国产高清免费在线观看 | 天天插综合 | 福利一区二区三区视频在线观看 | 三级毛片网站 | 99久久伊人 | 五月天国色天香国语版 | 国产裸体视频 | 精品视频在线一区二区 | 亚洲欧美一区二区三区四区 | 乡下小少妇xxxxx性开教 | 久久午夜精品 | 日韩成人黄色片 | 日韩免费毛片 | 亚洲天堂中文字幕 | 国产精品久久久久毛片 | 亚洲一区二区三区日韩 | 国产一区二区三区视频播放 | 午夜欧美福利 | 中文字幕在线播放不卡 | 日韩美女黄色片 | 国产日韩一区二区三免费高清 | 色久在线 | 日本aⅴ片 | 久久偷看各类wc女厕嘘嘘 | 国产精品女同一区二区久久夜 | 羞羞视频网站 | 久久草草精品入口av | 国产又粗又猛又爽又黄的三级视频 | 就爱操av| 人妻少妇精品无码专区二区 | 日本一级片在线观看 | 欧美影视 | 国产又黄又硬又粗 | 91丨porny丨尤物 | 成人影片在线播放 | 国产亚洲精品久久久久动 | 一区二区在线免费视频 | 欧美精品乱人伦久久久久久 | 欧美99精品 | 欧美男生射精高潮视频网站 | 精品一区二区三区免费毛片爱 | 欧美丰满白嫩bbw激情 | 中文字幕一区二区三区精华液 | 国产精品九九九 | 少妇白浆高潮无码免费区 | 小泽玛利亚一区二区三区视频 | 亚洲激情视频在线观看 | 日本无遮挡吸乳呻吟免费视频网站 | 丰满岳跪趴高撅肥臀尤物在线观看 | 亚洲国产精品久久久久久久久久 | 成人免费毛片网站 | 99爱在线视频这里只有精品 | 欧美激情五月 | 色天天综合久久久久综合片 | 超碰资源在线 | 国产免费女女脚奴视频网 | 国产成人精品综合在线观看 | 亚洲成人一区在线观看 | 日韩一级免费毛片 | 波多野结衣影院 | 久久久久久久中文字幕 | 久久精品这里热有精品 | 97人人爽人人澡人人精品 | 捆绑白丝粉色jk震动捧喷白浆 | 色综合久久88色综合天天 | 老司机午夜精品99久久免费 | 国产精品国产精品国产专区不卡 | 青青青草网站免费视频在线观看 | 欧美视频在线一区 | 精品黄色av | 欧美日韩在线精品一区二区 | 尤物av午夜精品一区二区入口 | 蜜桃视频一区二区三区 | 九九视频国产 | 免费观看av | 国产精品久久视频 | 一级黄色录像免费观看 | av鲁丝一区鲁丝二区鲁丝三区 | 亚洲国产精品一区 | 视频福利一区 | 国产一区二区三区四区五区美女 | 国产粉嫩尤物极品99综合精品 | 久久人人爽人人爽人人片av免费 | 亚洲一区二区视频在线观看 | 无码国产成人午夜电影在线观看 | 日本高清视频网站 | 亚洲成av人在线观看网站 | 天堂在线免费视频 | 亚洲六月婷婷 | 久久99国产综合精品免费 | 91av手机在线 | 国产伊人自拍 | 久草热8精品视频在线观看 人妻互换 综合 | 爱情岛论坛亚洲品质自拍网址大全 | 成人天堂资源www在线 | 疯狂少妇 | 老女人给我性启蒙 | 久草在线视频福利资源站 | 国产精品丝袜美腿一区二区三区 | sm免费人成虐网站 | 国产精品国产亚洲精品看不卡15 | 亚州综合网 | 国内精品国产三级国产在线专 | 欧美一卡二卡三卡 | 国产精品第九页 | 一级色网站 | 亚洲精品www久久久 亚洲精品www久久久久久 | 乌鸦热v2ba在线观看 | 黄色美女片 | 狠狠色伊人亚洲综合网站l 狠狠色依依成人婷婷九月 狠狠色综合久久婷婷色天使 | 尤物在线视频观看 | 欧美做受69| 久久免费网 | 日本高清有码视频 | 色一情一乱一伦一区二区三欧美 | 特级黄色片免费看 | 国产一级αⅴ片免费看 | 少妇裸体淫交视频免费观看 | 一区二区三区国产 | 粉嫩一区二区三区色综合 | 涩涩鲁亚洲精品一区二区 | 三级免费黄 | 男女啪啪毛片 | 日99久9在线 | 免费 | 欧洲美熟女乱又伦av影片 | 丰满少妇小早川怜子影片了 | 亚洲精品一区二区五月天 | 人人色视频 | 亚洲精品成人片在线观看精品字幕 | 国产乱色国产精品播放视频 | 国产精品乱码久久久久久1区2区 | 美女考逼 | 国产美女在线精品免费观看网址 | 黑人巨大精品欧美一区二区小视频 | 精品久久综合 | 最新色网站 | 精品国产va久久久久久久 | 国产精品一区在线播放 | 国产在线播放网站 | 伊人久久中文 | 性欧美18—19sex性高清 | 精品人妻一区二区三区四区在线 | 激情内射人妻1区2区3区 | 91在线高清视频 | 俄罗斯a级毛片 | 国产亚洲在线观看 | 91精品国产欧美一区二区 | 亚洲日日干| 天堂综合网久久 | 午夜中文字幕 | 一本一道久久a久久精品 | 67194熟妇人妻欧美日韩 | 一级毛片基地 | 精美欧美一区二区三区 | 蜜臀一区二区三区精品免费视频 | 国产女人18毛片水真多18 | 免费在线观看黄色av | 青娱乐免费在线视频 | 国产欧美一区二区三区鸳鸯浴 | 国产乱码视频 | 少妇系列之白嫩人妻 | 色射综合 | 久久婷婷五月综合97色一本一本 | 中文在线а√天堂 | 欧美巨鞭大战丰满少妇 |