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

歡迎訪問 生活随笔!

生活随笔

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

python

python3之协程(3)---greenlet实现协程操作

發布時間:2024/4/11 python 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python3之协程(3)---greenlet实现协程操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文鏈接:https://www.cnblogs.com/xybaby/p/6337944.html

?

正文

?  在前面的文章中提到python原生的generator是semicoroutine,而greenlet是 真 協程。本文內容主要來自對官網文檔的翻譯,在其中也加入了很多自己的理解和例子。主要包括以下內容:什么是greenlet,greenlet的切換與函數調用的區別,greenlet的生命周期,以及使用greenlet的注意事項。

greenlet初體驗

  Greenlet是python的一個C擴展,來源于Stackless python,旨在提供可自行調度的‘微線程’, 即協程。generator實現的協程在yield value時只能將value返回給調用者(caller)。 而在greenlet中,target.switch(value)可以切換到指定的協程(target), 然后yield value。greenlet用switch來表示協程的切換,從一個協程切換到另一個協程需要顯式指定。

  greenlet的安裝很簡單:pip install greenlet 即可,安裝好了之后我們來看一個官方的例子

from greenlet import greenlet def test1():print 12gr2.switch()print 34def test2():print 56gr1.switch()print 78gr1 = greenlet(test1) gr2 = greenlet(test2) gr1.switch()

輸出為:
    12 56 34

  當創建一個greenlet時,首先初始化一個空的棧, switch到這個棧的時候,會運行在greenlet構造時傳入的函數(首先在test1中打印 12), 如果在這個函數(test1)中switch到其他協程(到了test2 打印34),那么該協程會被掛起,等到切換回來(在test2中切換回來 打印34)。當這個協程對應函數執行完畢,那么這個協程就變成dead狀態。
  

  注意?上面沒有打印test2的最后一行輸出 78,因為在test2中切換到gr1之后掛起,但是沒有地方再切換回來。這個可能造成泄漏,后面細說。

greenlet module與class

  我們首先看一下greenlet這個module里面的屬性

  >>> dir(greenlet)
  ['GREENLET_USE_GC', 'GREENLET_USE_TRACING', 'GreenletExit', '_C_API', '__doc__', '__file__', '__name__', '__package__', '__version__', 'error', 'getcurrent', 'gettrace', 'greenlet', 'settrace']
  >>>

  其中,比較重要的是getcurrent(), 類greenlet、異常類GreenletExit。

  getcurrent()返回當前的greenlet實例;

  GreenletExit:是一個特殊的異常,當觸發了這個異常的時候,即使不處理,也不會拋到其parent(后面會提到協程中對返回值或者異常的處理)

  然后我們再來看看greenlet.greenlet這個類:

  >>> dir(greenlet.greenlet)

  ['GreenletExit', '__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__getstate__', '__hash__', '__init__', '__new__', '__nonzero__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__',   '__sizeof__', '__str__', '__subclasshook__', '_stack_saved', 'dead', 'error', 'getcurrent', 'gettrace', 'gr_frame', 'parent', 'run', 'settrace','switch', 'throw']
  >>>?

  比較重要的幾個屬性:

  run:當greenlet啟動的時候會調用到這個callable,如果我們需要繼承greenlet.greenlet時,需要重寫該方法

  switch:前面已經介紹過了,在greenlet之間切換

  parent:可讀寫屬性,后面介紹

  dead:如果greenlet執行結束,那么該屬性為true

  throw:切換到指定greenlet后立即跑出異常

  

  文章后面提到的greenlet大多都是指greenlet.greenlet這個class,請注意區別?

Switch not call

  對于greenlet,最常用的寫法是 x = gr.switch(y)。 這句話的意思是切換到gr,傳入參數y。當從其他協程(不一定是這個gr)切換回來的時候,將值付給x。

import greenlet def test1(x, y):z = gr2.switch(x+y)print('test1 ', z)def test2(u):print('test2 ', u)gr1.switch(10)gr1 = greenlet.greenlet(test1) gr2 = greenlet.greenlet(test2) print gr1.switch("hello", " world")

輸出:
    ('test2 ', 'hello world')
    ('test1 ', 10)
    None

  上面的例子,第12行從main greenlet切換到了gr1,test1第3行切換到了gs2,然后gr1掛起,第8行從gr2切回gr1時,將值(10)返回值給了 z。?

?

  每一個Greenlet都有一個parent,一個新的greenlet在哪里創生,當前環境的greenlet就是這個新greenlet的parent。所有的greenlet構成一棵樹,其跟節點就是還沒有手動創建greenlet時候的”main” greenlet(事實上,在首次import greenlet的時候實例化)。當一個協程 正常結束,執行流程回到其對應的parent;或者在一個協程中拋出未被捕獲的異常,該異常也是傳遞到其parent。學習python的時候,有一句話會被無數次重復”everything is oblect”, 在學習greenlet的調用中,同樣有一句話應該深刻理解, “switch not call”。

import greenlet def test1(x, y):print id(greenlet.getcurrent()), id(greenlet.getcurrent().parent) # 40240272 40239952z = gr2.switch(x+y)print 'back z', zdef test2(u):print id(greenlet.getcurrent()), id(greenlet.getcurrent().parent) # 40240352 40239952return 'hehe'gr1 = greenlet.greenlet(test1) gr2 = greenlet.greenlet(test2) print id(greenlet.getcurrent()), id(gr1), id(gr2) # 40239952, 40240272, 40240352 print gr1.switch("hello", " world"), 'back to main' # hehe back to main

上述例子可以看到,盡量是從test1所在的協程gr1 切換到了gr2,但gr2的parent還是’main’ greenlet,因為默認的parent取決于greenlet的創生環境。另外 在test2中return之后整個返回值返回到了其parent,而不是switch到該協程的地方(即不是test1),這個跟我們平時的函數調用不一樣,記住“switch not call”。對于異常 也是展開至parent

mport greenlet def test1(x, y):try:z = gr2.switch(x+y)except Exception:print 'catch Exception in test1'def test2(u):assert Falsegr1 = greenlet.greenlet(test1) gr2 = greenlet.greenlet(test2) try:gr1.switch("hello", " world") except:print 'catch Exception in main'

輸出為:

   catch Exception in main

Greenlet生命周期

  文章開始的地方提到第一個例子中的gr2其實并沒有正常結束,我們可以借用greenlet.dead這個屬性來查看

from greenlet import greenlet def test1():gr2.switch(1)print 'test1 finished'def test2(x):print 'test2 first', xz = gr1.switch()print 'test2 back', zgr1 = greenlet(test1) gr2 = greenlet(test2) gr1.switch() print 'gr1 is dead?: %s, gr2 is dead?: %s' % (gr1.dead, gr2.dead) gr2.switch() print 'gr1 is dead?: %s, gr2 is dead?: %s' % (gr1.dead, gr2.dead) print gr2.switch(10)

輸出:

  test2 first 1
  test1 finished
  gr1 is dead?: True, gr2 is dead?: False
  test2 back ()
  gr1 is dead?: True, gr2 is dead?: True
  10

  從這個例子可以看出

  • 只有當協程對應的函數執行完畢,協程才會die,所以第一次Check的時候gr2并沒有die,因為第9行切換出去了就沒切回來。在main中再switch到gr2的時候, 執行后面的邏輯,gr2 die
  • 如果試圖再次switch到一個已經是dead狀態的greenlet會怎么樣呢,事實上會切換到其parent greenlet

?

Greenlet Traceing

Greenlet也提供了接口使得程序員可以監控greenlet的整個調度流程。主要是gettrace 和 settrace(callback)函數。下面看一個例子:

def test_greenlet_tracing():def callback(event, args):print event, 'from', id(args[0]), 'to', id(args[1])def dummy():g2.switch()def dummyexception():raise Exception('excep in coroutine')main = greenlet.getcurrent()g1 = greenlet.greenlet(dummy)g2 = greenlet.greenlet(dummyexception)print 'main id %s, gr1 id %s, gr2 id %s' % (id(main), id(g1), id(g2))oldtrace = greenlet.settrace(callback)try:g1.switch()except:print 'Exception'finally:greenlet.settrace(oldtrace)test_greenlet_tracing()

輸出:

  main id 40604416, gr1 id 40604736, gr2 id 40604816
  switch from 40604416 to 40604736
  switch from 40604736 to 40604816
  throw from 40604816 to 40604416
  Exception

  其中callback函數event是switch或者throw之一,表明是正常調度還是異常跑出;args是二元組,表示是從協程args[0]切換到了協程args[1]。上面的輸出展示了切換流程:從main到gr1,然后到gr2,最后回到main。

greenlet使用建議:

  使用greenlet需要注意一下三點:

  第一:greenlet創生之后,一定要結束,不能switch出去就不回來了,否則容易造成內存泄露

  第二:python中每個線程都有自己的main greenlet及其對應的sub-greenlet ,不能線程之間的greenlet是不能相互切換的

  第三:不能存在循環引用,這個是官方文檔明確說明

  ”Greenlets do not participate in garbage collection; cycles involving data that is present in a greenlet’s frames will not be detected.?“

  對于第一點,我們來看一個例子:  

from greenlet import greenlet, GreenletExit huge = [] def show_leak():def test1():gr2.switch()def test2():huge.extend([x* x for x in range(100)])gr1.switch()print 'finish switch del huge'del huge[:]gr1 = greenlet(test1)gr2 = greenlet(test2)gr1.switch()gr1 = gr2 = Noneprint 'length of huge is zero ? %s' % len(huge)if __name__ == '__main__':show_leak() # output: length of huge is zero ? 100

在test2函數中 第11行,我們將huge清空,然后再第16行將gr1、gr2的引用計數降到了0。但運行結果告訴我們,第11行并沒有執行,所以如果一個協程沒有正常結束是很危險的,往往不符合程序員的預期。greenlet提供了解決這個問題的辦法,官網文檔提到:如果一個greenlet實例的引用計數變成0,那么會在上次掛起的地方拋出GreenletExit異常,這就使得我們可以通過try ... finally 處理資源泄露的情況。如下面的代碼:

from greenlet import greenlet, GreenletExit huge = [] def show_leak():def test1():gr2.switch()def test2():huge.extend([x* x for x in range(100)])try:gr1.switch()finally:print 'finish switch del huge'del huge[:]gr1 = greenlet(test1)gr2 = greenlet(test2)gr1.switch()gr1 = gr2 = Noneprint 'length of huge is zero ? %s' % len(huge)if __name__ == '__main__':show_leak()# output :# finish switch del huge# length of huge is zero ? 0

上述代碼的switch流程:main greenlet --> gr1 --> gr2 --> gr1 --> main greenlet, 很明顯gr2沒有正常結束(在第10行刮起了)。第18行之后gr1,gr2的引用計數都變成0,那么會在第10行拋出GreenletExit異常,因此finally語句有機會執行。同時,在文章開始介紹Greenlet module的時候也提到了,GreenletExit這個異常并不會拋出到parent,所以main greenlet也不會出異常。

  看上去貌似解決了問題,但這對程序員要求太高了,百密一疏。所以最好的辦法還是保證協程的正常結束。

總結:

  之前的文章其實已經提到提到了coroutine協程的強大之處,對于異步非阻塞,而且還需要保留上下文的場景非常適用。greenlet跟強大,可以從一個協程切換到任意其他協程,這是generator做不到的,但這種能力其實也是雙刃劍,前面的注意事項也提到了,必須保證greenlet的正常結束,在協程之間任意的切換很容易出問題。

  比如對于服務之間異步請求的例子,簡化為服務A的一個函數foo需要異步訪問服務B,可以這樣封裝greenlet:用decorator裝飾函數foo,當調用這個foo的時候建立一個greenlet實例,并為這個greenley對應一個唯一的gid,在foo方法發出異步請求(寫到gid)之后,switch到parent,這個時候這個新的協程處于掛起狀態。當請求返回之后,通過gid找到之前被掛起的協程,恢復該協程即可。More simple More safety,保證旨在main和一級子協程之間切換。需要注意的是處理各種異常 以及請求超時的情況,避免內存泄露,gvent對greenlet的使用大致也是這樣的。

?

?

總結

以上是生活随笔為你收集整理的python3之协程(3)---greenlet实现协程操作的全部內容,希望文章能夠幫你解決所遇到的問題。

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

免费网站看av片 | 99热超碰| 国产日本高清 | 亚洲,播放 | 深爱激情五月婷婷 | 国产在线视频在线观看 | 久久国产精品影片 | 久99久精品 | 久久99热精品这里久久精品 | 国产日韩精品一区二区在线观看播放 | 日韩视频在线播放 | 亚洲精品视频网 | 亚洲精品国偷自产在线91正片 | 成年人在线观看网站 | 免费网站在线观看人 | 成人资源网 | 99精品视频在线看 | 一区二区伦理电影 | 2018好看的中文在线观看 | 最新在线你懂的 | 久青草影院| 亚洲免费在线播放视频 | 2019精品手机国产品在线 | 网站在线观看你们懂的 | 亚洲男男gaygay无套 | 欧美视屏一区二区 | 亚洲成av人影院 | 久久精品视| 99久久99久国产黄毛片 | 国产精品女人久久久久久 | av中文字幕不卡 | 97视频在线免费 | 日韩在线观看a | 久久免费看视频 | 久久久成人精品 | 久久精品99精品国产香蕉 | 国产精品国内免费一区二区三区 | 亚洲欧洲国产视频 | 日日摸日日添夜夜爽97 | 久久免费视频一区 | 麻豆91精品| 欧美久久久久久久久久久久 | 国产精品激情 | 免费又黄又爽 | 日韩午夜高清 | 日韩在线观看三区 | 日韩av高潮 | 中文字幕在线观看完整版电影 | 日韩免费二区 | 天天做夜夜做 | 九九九九九九精品任你躁 | 亚洲视频在线视频 | 婷婷av色综合 | 一区中文字幕 | 国产一区在线免费 | av成人在线电影 | 天天色天天操综合网 | 亚洲天堂网在线观看视频 | 激情五月网站 | 国产网红在线观看 | 国产精品www | 在线精品亚洲 | 色婷在线| 免费观看十分钟 | 五月天婷婷丁香花 | 国内精品毛片 | 不卡国产视频 | 人人干人人艹 | 91成人在线观看喷潮 | av解说在线| 欧美夫妻性生活电影 | 久久伊人精品天天 | 看片黄网站 | 亚洲欧美成人综合 | 伊人五月天综合 | 夜夜干天天操 | 99久久精品费精品 | 亚洲国产精品久久久 | 国产91亚洲精品 | 国产精品一区二区三区电影 | 国产黄色免费 | 蜜臀久久99精品久久久无需会员 | 国产免费一区二区三区网站免费 | 国产在线观看av | 久草精品在线 | 日韩在线首页 | 国产色女 | 91九色网站 | 国产一区视频在线观看免费 | 亚洲最大色| 久久歪歪| 日韩在线视频看看 | 国产人成在线观看 | 成年美女黄网站色大片免费看 | 欧美日韩高清不卡 | 欧美a级成人淫片免费看 | 97视频人人免费看 | 九九综合九九综合 | 久久99国产精品视频 | 成人黄色电影视频 | 天天草天天插 | 日本久久高清视频 | 久久久999 | 日本三级人妇 | 在线 高清 中文字幕 | 欧美色婷婷 | 国内精品美女在线观看 | 婷婷在线视频观看 | 激情婷婷亚洲 | 欧美黑吊大战白妞欧美 | 国产精品成人免费精品自在线观看 | 97成人资源站 | 日本系列中文字幕 | 国产精品日韩 | 久久久国产精品亚洲一区 | 在线观看香蕉视频 | 国精产品永久999 | 99久久99久久精品国产片果冰 | 久久九九精品 | 国产免费观看久久 | 97免费在线视频 | 97国产在线观看 | 亚洲精品乱码久久久久久蜜桃不爽 | 日韩电影一区二区在线 | 伊人影院得得 | 超碰在线人 | 久久国产热视频 | 欧美日韩亚洲第一 | 99福利影院 | 亚洲欧美视屏 | 狠狠色丁香婷婷综合久小说久 | 狠狠干天天射 | 国产精品一区二区av影院萌芽 | 丁香婷婷电影 | 亚洲女在线 | 久久av不卡 | 欧美国产一区在线 | 国产午夜麻豆影院在线观看 | 久久在线影院 | 日本成人中文字幕在线观看 | 在线观看视频在线观看 | 99热这里有 | 久久伊人国产精品 | 亚洲精品国偷拍自产在线观看 | 在线免费高清一区二区三区 | 草樱av| 日本黄色黄网站 | 丁香午夜 | 亚洲一区二区视频在线 | 玖玖精品在线 | 日韩经典一区二区三区 | 久久久久99精品成人片三人毛片 | 99精品免费 | 丁香婷婷射 | 久草精品网 | 天天艹日日干 | 亚洲国产精品传媒在线观看 | 欧美日韩不卡一区 | 国产精品99蜜臀久久不卡二区 | 在线视频你懂得 | 国产亚洲精品中文字幕 | 国产91综合一区在线观看 | 91成版人在线观看入口 | 亚洲高清视频在线观看免费 | 色片网站在线观看 | 在线亚洲天堂网 | zzijzzij亚洲成熟少妇 | 久久久久久久久免费视频 | 日韩二区三区 | av电影免费在线看 | 一区二区三区中文字幕在线观看 | 国内丰满少妇猛烈精品播放 | 久久久片| 天天天操天天天干 | 狠狠干天天色 | 国产免码va在线观看免费 | 久久五月网 | 99久久久国产精品免费99 | 91九色蝌蚪视频在线 | 人人干人人爽 | 国内成人精品视频 | 久久久国产日韩 | 9i看片成人免费看片 | 日韩中文字幕亚洲一区二区va在线 | 免费在线国产黄色 | 日本一区二区免费在线观看 | 91桃色免费视频 | 91精品一区二区三区蜜桃 | 色a网| 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 欧美激情xxxx | 天天爱天天色 | 手机av在线不卡 | 日韩大片在线 | 狠狠干狠狠艹 | 西西444www大胆高清图片 | 国产高清精| 日韩欧美久久 | 在线看污网站 | 久久成人高清 | 色婷婷亚洲婷婷 | 中文字幕一区二区三区乱码在线 | 射综合网 | 国产午夜精品久久久久久久久久 | 亚洲黄色免费在线 | 日韩电影在线看 | 精品一区二区在线看 | 国产精品亚州 | 欧美成人xxx | 色欧美成人精品a∨在线观看 | 91视频电影 | 中文字幕中文中文字幕 | 中文字幕丝袜一区二区 | 日韩一区精品 | 成人动漫精品一区二区 | 成年免费在线视频 | 久草久热 | 国产精品久久一区二区三区, | 三级黄在线 | 国产亚洲情侣一区二区无 | 久久国产福利 | 亚洲综合一区二区精品导航 | 夜夜爽88888免费视频4848 | 亚洲国产精品人久久电影 | 亚洲欧美日韩精品久久久 | 日韩欧美国产视频 | 国产aa免费视频 | 亚洲国产一区二区精品专区 | 日韩偷拍精品 | 亚洲国产精品久久久 | 欧美日韩午夜爽爽 | 久久精品毛片 | 日本在线免费看 | 久久黄色片子 | 欧美 日韩 国产 中文字幕 | 九九免费精品视频 | 色99在线 | 在线视频免费观看 | 干狠狠| 久久久人人人 | 91亚洲精品久久久久图片蜜桃 | 久久国产亚洲 | 91麻豆精品国产自产 | 久久亚洲综合国产精品99麻豆的功能介绍 | 高清av中文在线字幕观看1 | 狠狠色狠狠色综合系列 | 99国产精品一区 | 国产一级特黄毛片在线毛片 | 亚洲日韩欧美一区二区在线 | 午夜影视剧场 | 去干成人网| 日本性生活免费看 | www视频在线观看 | 亚洲女裸体| 亚洲精品成人 | 久99精品 | 成人97视频 | 九九热精品视频在线播放 | 99久久精品久久久久久动态片 | 亚洲精品久久久久久中文传媒 | 免费高清看电视网站 | 欧美视频国产视频 | 人人玩人人爽 | 521色香蕉网站在线观看 | www国产精品com| 99r在线精品| 99久久99久久精品国产片 | 最新色站 | 在线观看免费av片 | 国产一区欧美日韩 | 亚洲蜜桃av | 特黄特色特刺激视频免费播放 | 欧洲精品视频一区 | 国产999视频在线观看 | 美女精品国产 | 亚洲精品国产精品国自产在线 | 特级西西444www大胆高清无视频 | 黄色aa久久| 九九视频网站 | 美女视频免费精品 | 成人av网站在线播放 | 欧美污在线观看 | 91av资源在线 | 国产91亚洲 | 亚洲午夜av电影 | 91资源在线免费观看 | 国产香蕉97碰碰久久人人 | 91麻豆精品国产91久久久久久久久 | 欧美精品中文在线免费观看 | 丁香综合av | 五月婷婷影院 | 99久久精品国产亚洲 | 男女日麻批| 久久久久久久久黄色 | 天天射天天操天天色 | 91在线看网站 | 亚洲性少妇性猛交wwww乱大交 | 久久av在线 | 日韩深夜在线观看 | 国产精久久久久久久 | 97超碰国产精品女人人人爽 | 91污污视频在线观看 | 久久激情日本aⅴ | 免费看污黄网站 | 日日操日日干 | 91经典在线| 欧美超碰在线 | 大荫蒂欧美视频另类xxxx | 狠狠干成人综合网 | 久久久久久久久久久国产精品 | 黄色1级毛片 | 国产精品综合av一区二区国产馆 | 免费在线激情视频 | 五月天激情电影 | 久久乐九色婷婷综合色狠狠182 | 亚洲精品久久久蜜桃 | 中文字幕亚洲情99在线 | 97超碰国产精品女人人人爽 | 天堂激情网 | 少妇自拍av| 久久尤物电影视频在线观看 | 欧美国产不卡 | 91九色最新地址 | 亚州av网站 | 91精品久久香蕉国产线看观看 | 免费观看全黄做爰大片国产 | 午夜视频在线观看一区二区 | 国产麻豆电影 | av在线观| 国产一及片| 亚洲综合成人专区片 | 精品一区二三区 | 国产精品美女久久久久久久网站 | 国产精品久久久久久久久久久久午夜片 | 国产精品久久久久久久av电影 | 欧美日韩二区三区 | 色多视频在线观看 | 免费看的黄色的网站 | 成人免费一区二区三区在线观看 | 毛片网站在线看 | 亚洲成人网av | 亚洲精品色| 日本精品一区二区在线观看 | 国外av在线| 亚洲精品午夜久久久久久久久久久 | 国产美女被啪进深处喷白浆视频 | 久久久久国产一区二区三区四区 | 午夜精品一区二区三区可下载 | 欧美日韩中文字幕视频 | 久久久久国产一区二区 | 88av网站| 色综合天天天天做夜夜夜夜做 | 四虎精品成人免费网站 | 色偷偷男人的天堂av | 日韩在线免费视频观看 | 久久综合久久综合久久综合 | 男女拍拍免费视频 | 亚洲一二三区精品 | 亚洲精品视频在线免费 | 色999视频| 久久r精品| 中文字幕黄色 | 亚洲高清国产视频 | 色网站在线 | 久久久96 | 久久桃花网 | 日韩区欧美久久久无人区 | 激情网在线观看 | 午夜视频不卡 | av在线超碰 | 国产亚洲视频在线免费观看 | 成人影视免费 | 欧美日韩伦理在线 | 国产91学生粉嫩喷水 | a午夜在线 | 国产午夜精品一区二区三区 | 中文字幕亚洲高清 | 91网址在线观看 | 日韩不卡高清视频 | 99视频免费播放 | 三级黄色片子 | 日韩免费福利 | 日韩精品高清不卡 | 天天综合日日夜夜 | 国产成人99久久亚洲综合精品 | 国产999| 最近中文字幕mv | 91精品久久久久久久久久久久久 | 日韩久久久久 | 91九色porny在线| 亚洲精品国产综合99久久夜夜嗨 | 在线之家免费在线观看电影 | 国产精品扒开做爽爽的视频 | 天天操夜夜拍 | 视频二区在线 | 国产福利午夜 | 久草视频在线免费 | 天天翘av | 天天摸天天舔 | 日本三级中文字幕在线观看 | 国内精品视频久久 | 国产精品男女 | 免费在线国产 | 久久综合色婷婷 | 香蕉视频网站在线观看 | 天天综合网 天天综合色 | 青草视频在线播放 | 欧美地下肉体性派对 | 中文av网站| 免费色黄 | 日韩网页 | 激情电影影院 | 91成人破解版 | 日韩中文字幕在线看 | 九九热在线视频 | 日韩精品一区二区三区水蜜桃 | 欧美人操人 | 久久开心激情 | 国产一区视频在线观看免费 | 日韩久久精品 | 激情视频在线观看网址 | 一区二区三区四区在线 | 欧美在线视频二区 | 狠狠狠色 | 亚洲精品视频在线看 | 中文字幕国产视频 | 亚洲精品美女免费 | 97人人添人澡人人爽超碰动图 | 国产精品av在线 | 午夜视频在线观看一区 | 四虎影视4hu4虎成人 | 国产精品色在线 | 91精选在线观看 | 亚洲免费精品一区二区 | 最近乱久中文字幕 | 久久美女精品 | 97色涩 | 国产精品久久久av久久久 | 国产精品国产三级国产aⅴ无密码 | 99一区二区三区 | 99热这里精品 | 丁香高清视频在线看看 | 九9热这里真品2 | 在线免费观看黄色 | 免费看的黄色小视频 | 成人一区电影 | 精品国产视频在线观看 | 久久综合激情 | 久久免费激情视频 | 国产日韩精品一区二区三区 | 福利电影一区二区 | 亚洲欧洲精品一区二区精品久久久 | 黄色av网站在线观看免费 | 久久久久国产精品免费网站 | 911久久香蕉国产线看观看 | 九九视频在线播放 | 九九爱免费视频在线观看 | 99久久精品久久久久久清纯 | 成人91在线| 一区二区精品视频 | 永久黄网站色视频免费观看w | 99欧美| 69久久夜色精品国产69 | 色国产精品 | 少妇bbw搡bbbb搡bbbb | 亚洲成av人片一区二区梦乃 | 久久综合中文色婷婷 | 精品女同一区二区三区在线观看 | 免费视频一二三区 | 69久久99精品久久久久婷婷 | 香蕉蜜桃视频 | 亚洲精品美女久久久久网站 | 国产精品女人网站 | 毛片网免费 | 婷婷社区五月天 | www.xxxx欧美 | 九九久久成人 | 99精品视频免费 | 日日操日日干 | 久久婷婷色 | 欧美成人性战久久 | 久久 一区 | 亚洲国产中文字幕在线 | 欧美成人999| 一区精品久久 | 国产视频在 | 91精品国产91久久久久久三级 | 久久男女视频 | 黄av在线 | 超级碰视频 | 日韩伦理片一区二区三区 | 一区二区不卡视频在线观看 | 色99之美女主播在线视频 | 久草免费色站 | 亚洲精品乱码久久久久久蜜桃欧美 | 亚洲精品免费观看视频 | 黄色av影院 | 亚洲另类视频 | 国产在线视频一区二区 | 国产午夜三级一区二区三桃花影视 | 国产91亚洲 | 欧美精品国产综合久久 | 久久久在线免费观看 | 国产99久久久国产精品免费看 | 欧美一区二区在线看 | 亚洲v欧美v国产v在线观看 | 久久综合久久久 | 亚洲 欧美 成人 | 久久久免费高清视频 | 亚洲天堂网视频在线观看 | av日韩不卡 | 日韩精品影视 | 久久婷婷精品视频 | 日韩网站在线免费观看 | 成人在线观看你懂的 | 中文字幕91视频 | 免费av网址在线观看 | 91精品日韩 | 国产精品久久久久毛片大屁完整版 | 久久精品一二区 | 久久综合久久88 | 伊人婷婷网 | 久久亚洲精品电影 | 高清美女视频 | 97人人爽人人 | 中文有码在线视频 | 国产不卡在线观看视频 | 国产91精品看黄网站在线观看动漫 | 中文字幕一区二区三区视频 | 国产亚洲免费观看 | av噜噜噜在线播放 | 亚洲最大的av网站 | 国产成人精品电影久久久 | 日本夜夜草视频网站 | 国产视频一区二区在线 | 亚洲国产美女精品久久久久∴ | 中文视频在线播放 | 精品在线不卡 | 婷婷在线观看视频 | 成人动图 | 欧美成人xxxx | 精品国产一区二区三区四区在线观看 | 国产亚洲资源 | 欧美一级片在线观看视频 | 91视频久久久久久 | 中文字幕高清视频 | 99免费在线播放99久久免费 | 久久五月精品 | 精品国产一区二区三区日日嗨 | 免费黄色看片 | 玖玖玖在线观看 | 国产色综合天天综合网 | 97韩国电影 | www.婷婷com| 狠狠操导航 | 久草在线高清视频 | 日韩在线网 | av黄色国产 | 99国产精品久久久久久久久久 | 久久久国产一区二区 | 久久久免费看视频 | 午夜精品一区二区三区四区 | a一片一级 | 日韩艹 | 婷婷丁香在线 | 伊人久久婷婷 | 亚洲成人av在线电影 | 国产精品欧美久久久久天天影视 | 色婷婷综合五月 | 成片免费观看视频大全 | 99综合视频 | 777奇米四色 | 西西人体www444 | 国产精品普通话 | 五月香视频在线观看 | 欧美一区二区三区在线观看 | 精品中文字幕在线 | 久久久久一区二区三区 | 国产人在线成免费视频 | 99视频精品视频高清免费 | 亚洲成人免费 | 欧美一级性生活视频 | 美女黄视频免费看 | 免费看短 | 国产亚洲精品成人av久久ww | 久久精精品| 亚洲国产中文字幕在线观看 | 特级a老妇做爰全过程 | 久久免费电影网 | 激情视频一区二区三区 | 久久99精品一区二区三区三区 | 欧美电影黄色 | www.午夜色.com | 91九色精品国产 | 日韩性片 | 久久综合久久综合这里只有精品 | 久久与婷婷 | 国产精品手机视频 | 国内精品久久久久影院男同志 | 国产高清在线观看av | 国产小视频你懂的在线 | 国产一区在线免费观看视频 | 成人黄色电影免费观看 | 黄色成人在线观看 | 日韩免费视频观看 | 美女精品在线观看 | 久久综合九色综合欧美狠狠 | 一区二区三区在线观看 | 在线免费国产视频 | 99久久99视频 | 久久视频在线看 | 欧美日韩一区二区三区在线观看视频 | 五月综合网站 | av中文字幕av | 中文字幕久久精品一区 | 亚洲国产成人精品久久 | 国产午夜精品免费一区二区三区视频 | 国产精品免费一区二区 | 亚洲欧美视频在线 | av在线在线 | 久久精品欧美一区 | 久草视频在线免费播放 | 国产精品欧美久久久久天天影视 | 免费看一级特黄a大片 | 狠色在线| 久久免费av电影 | 91在线影视 | 丁香花在线视频观看免费 | 国产精品久久中文字幕 | 96久久欧美麻豆网站 | 天天爱天天色 | 亚洲国产成人在线观看 | 国产精品理论在线观看 | 91精品啪啪 | 日本69hd| 亚洲一区网站 | 中文成人字幕 | 久久99亚洲网美利坚合众国 | 久久99精品久久久久久久久久久久 | 涩涩网站免费 | 深爱婷婷久久综合 | 韩日精品在线观看 | 久久国产麻豆 | 麻豆视频91 | 国产精品视频免费看 | avove黑丝 | 四虎国产精品成人免费4hu | 久久在线免费 | 亚洲一区二区精品3399 | 久久综合久久综合九色 | 欧美日韩视频在线观看免费 | 亚洲精品美女久久久久网站 | 国产99久久精品一区二区300 | 香蕉视频免费在线播放 | 99精品免费观看 | 六月丁香婷婷网 | 国产精品美女久久久久久久久久久 | 九九涩涩av台湾日本热热 | 一级做a爱片性色毛片www | 香蕉网在线观看 | 国产精品久久 | 香蕉影院在线 | 成人国产精品免费观看 | 二区三区在线观看 | 91成人免费观看视频 | 99精品免费久久久久久久久 | 亚洲精品视频在线观看免费视频 | 婷婷在线精品视频 | 91福利国产在线观看 | 在线亚洲观看 | 久草在线资源观看 | 亚洲91网站 | 天天干天天操天天做 | 国产成人精品久久 | av在线永久免费观看 | 精品久久网| 一区二区精品视频 | 精品国产一区二区三区在线 | 亚洲精品国产精品乱码在线观看 | 亚色视频在线观看 | 精品一区二区免费 | 久久免费观看少妇a级毛片 久久久久成人免费 | 96视频免费在线观看 | 在线国产一区二区三区 | 成人毛片一区二区三区 | 亚洲视频1 | 91亚洲欧美 | 五月婷婷中文 | 国产一级二级av | 97超碰人 | 一区二区影院 | 欧美三级免费 | 亚洲三级精品 | 国产精品美女在线观看 | 久久综合九色综合97婷婷女人 | 福利视频网址 | 亚洲va欧美va | 在线视频日韩一区 | 精品久久久久久久久久国产 | 中国一级片在线 | 中文字幕日韩免费视频 | 国产美女精品 | 亚洲精品视频网 | 美女在线观看网站 | 免费成人av在线看 | 国产一区二区久久精品 | 91最新在线视频 | 美女久久99 | 五月开心激情 | 一区二区三区高清在线 | 黄色大片日本 | 亚洲国产美女精品久久久久∴ | 麻豆传媒视频在线免费观看 | 天堂在线视频中文网 | 国产免费观看视频 | av久久久久久 | 中文字幕在线免费97 | 久久精品国产亚洲a | 在线观看亚洲成人 | 亚洲国产精品成人av | 国产精品在线看 | 亚洲国产精品99久久久久久久久 | 久草免费新视频 | 成人啊 v| 九九九在线观看视频 | 国产激情久久久 | 欧美久久久久 | 国产精品乱码久久久 | 99在线视频网站 | 国产一区二区三区视频在线 | 日韩在线观看你懂得 | 九九精品视频在线看 | 精品网站999www | 2024国产精品视频 | 久久久免费毛片 | www.五月天婷婷.com | 狠狠狠色丁香婷婷综合久久五月 | 婷婷在线免费视频 | 九九视频一区 | 在线亚洲午夜片av大片 | 美女精品久久 | 国产精品video爽爽爽爽 | 色婷婷啪啪免费在线电影观看 | 成年在线观看 | 天天天天爽 | 精品国产观看 | 808电影免费观看三年 | 在线成人一区 | 久久久久久久免费 | 91视频 - 114av | 97成人在线免费视频 | 国产69精品久久久久99 | 国产高清综合 | 免费av看片 | 国产一级久久久 | 亚洲国产中文字幕在线观看 | 天天色综合天天 | 色综合久久久久综合体 | 综合激情婷婷 | 黄色一级影院 | www黄com| 久久久69| 91成人在线视频 | 欧美性色xo影院 | 四虎欧美| 操操操综合 | 久久久久免费精品 | 高清精品久久 | 国产精品2区 | 国产一区欧美在线 | 丰满少妇在线观看网站 | 婷婷综合| 丁香五月亚洲综合在线 | 国产精品久久中文字幕 | 亚洲国产mv| 久久99精品久久久久久久久久久久 | 人人超碰免费 | 激情久久一区二区三区 | 亚洲午夜在线视频 | 日韩女同一区二区三区在线观看 | 亚洲精品资源在线观看 | 女人18片 | 亚洲精品久久久蜜桃 | 奇米网网址 | 手机av永久免费 | 91精品国产乱码 | 激情图片久久 | 91超碰在线播放 | 国产在线视频一区二区三区 | 国产女v资源在线观看 | 国产视频午夜 | 国产成人综合精品 | 69xxxx欧美| 精壮的侍卫呻吟h | 中文字幕在线视频第一页 | 成人av视屏 | 91精品国产99久久久久久红楼 | 最近中文国产在线视频 | 亚洲激精日韩激精欧美精品 | 一区二区三区免费播放 | 国产亚洲精品久久 | 三级黄色理论片 | 久久国产午夜精品理论片最新版本 | 欧美一级视频免费 | 日日干激情五月 | 97视频在线免费观看 | 天天干天天操av | 欧美极品久久 | 国产不卡一二三区 | 香蕉视频免费在线播放 | 久草网站在线 | 久久99亚洲网美利坚合众国 | 日日天天狠狠 | 日韩色综合 | 亚洲国内精品在线 | 国产精品永久免费观看 | 午夜三级理论 | 欧美日韩国产免费视频 | 日韩黄色软件 | 亚洲国产欧美一区二区三区丁香婷 | av看片在线观看 | 综合色在线 | 91探花在线视频 | 日韩中文字幕免费视频 | 日韩色视频在线观看 | 爱色av.com| 91大神精品视频 | 激情综合网天天干 | 精品主播网红福利资源观看 | 二区三区在线 | 国产精品短视频 | 精品欧美一区二区在线观看 | 色av男人的天堂免费在线 | 欧美与欧洲交xxxx免费观看 | 国产午夜亚洲精品 | 99久久精品午夜一区二区小说 | 青青草国产成人99久久 | 日韩网站在线免费观看 | 在线电影日韩 | 久久国产精品99国产 | 久久黄页| 午夜精品电影一区二区在线 | 欧美在线观看禁18 | 中文字幕人成乱码在线观看 | 久久精品视频观看 | 成人看片| 天天艹天天爽 | 欧美精品久久久久久久免费 | 97超碰伊人 | 亚洲男模gay裸体gay | 国产福利av在线 | 欧美一级片 | 精品久久五月天 | 免费看高清毛片 | 成年人电影免费在线观看 | 综合婷婷丁香 | 精品久久久久久久久久久院品网 | 色狠狠综合天天综合综合 | 日韩精品在线免费播放 | 国产精品免费久久久久久 | 久久精品视频在线看 | 日韩区欧美久久久无人区 | 欧美日韩中文另类 | 国产精品入口麻豆www | 国产亚洲一区二区在线观看 | 午夜精品一区二区三区视频免费看 | 麻豆久久久久 | 久久字幕 | 丝袜av网站 | 国产精品白丝av | 91大神在线观看视频 | 亚洲欧美日韩一区二区三区在线观看 | 国产精品91一区 | 国产日产精品久久久久快鸭 | 深爱激情五月综合 | 69av国产| 免费一级毛毛片 | 在线观看午夜 | 精品a级片| 99热精品在线观看 | 成人av亚洲| 色六月婷婷 | 一二三区在线 | 久久久久久国产精品美女 | 国产综合在线观看视频 | 毛片久久久 | 亚洲另类交 | 激情五月婷婷网 | 99精品久久久久久久久久综合 | 久久久久久国产精品免费 | 国产不卡精品视频 | 国产在线免费 | 国产精品福利无圣光在线一区 | 美女黄视频免费 | 日韩一区二区三免费高清在线观看 | 精品国产乱码久久久久 | 亚洲情婷婷 | 国产亚洲精品成人av久久影院 | 一级黄色片在线播放 | 成人在线播放免费观看 | 国产高清视频在线 | 91网页版在线观看 | 免费看黄色毛片 | 精品嫩模福利一区二区蜜臀 | 欧美色插| 开心婷婷色 | 国产免费大片 | 久草在线免费资源 | 国产精品国产三级国产aⅴ9色 | 青春草国产视频 | 91大神电影 | 国产日产精品久久久久快鸭 | 懂色av一区二区三区蜜臀 | 日韩在线不卡视频 | 亚洲视频免费在线看 | 精品视频123区在线观看 | 欧美色噜噜 | 激情综合网婷婷 | 国产精品久久久久久久久费观看 | 婷婷草| 国产精品美女久久久免费 | 久久国产精品免费一区 | 91亚洲激情 | 成人小视频在线免费观看 | 狠狠色丁香婷婷综合欧美 | 毛片久久久 | 中文字幕久久精品 | 婷婷视频在线观看 | 午夜av免费看 | 国产又粗又硬又爽的视频 | 日韩电影中文字幕 | 国产精品青草综合久久久久99 | 久久精品一区二区三区中文字幕 | 天天干夜夜想 | 免费a视频在线观看 | 狠狠狠色丁香婷婷综合久久88 | 国产97免费| 综合网色 | 久久久18 | 日本成人中文字幕在线观看 | 日韩欧美成人网 | 日日操夜夜操狠狠操 | 国产区精品在线观看 | 久久成年人网站 | 丁香六月综合网 | 色播五月激情五月 | 国产一区二区三区免费在线 | 久久国产美女视频 | 亚洲国内精品 | 91av在线视频播放 | 久久午夜影院 | 免费视频91蜜桃 | 久久精品之 | 一区二区三区高清在线观看 | av观看免费在线 | 91久久精品一区二区三区 | 日韩精品一区二区三区三炮视频 | 日本少妇久久久 | 久久久久久伊人 | 丁香 婷婷 激情 | 九色在线 | 日日夜夜天天 | 在线日韩亚洲 | 国产精品久久99综合免费观看尤物 | 色综合久久久久久中文网 | 日日夜夜天天综合 | 日本公妇在线观看 | 成 人 黄 色 视频播放1 | 色五月色开心色婷婷色丁香 | 亚洲婷婷综合色高清在线 | 丁香五月亚洲综合在线 | 欧美日韩在线免费观看 | 成人免费观看av | 色成人亚洲网 | 日韩高清不卡一区二区三区 | 亚洲国产日韩av | 三级免费黄 | 亚洲高清免费在线 | 99久久久国产免费 | 国产精品久久久久永久免费看 | 一区二区男女 | 99久久夜色精品国产亚洲 | 日本成址在线观看 | 免费看久久久 | 久久黄色网址 | 国产精品久久久久aaaa九色 | 精品国产一区二区三区日日嗨 | 日本黄色黄网站 | 久久国产精品一二三区 | 国产性天天综合网 | 亚洲 欧美 综合 在线 精品 | 免费黄在线观看 | 国产一二三区av | 色网站免费在线看 | 精品亚洲午夜久久久久91 | 免费人成网 | 欧美a√大片 | 国产成人一区二区三区久久精品 |