美文网首页
PYTHON协程

PYTHON协程

作者: ScienBeast | 来源:发表于2018-10-17 21:57 被阅读0次

协程

  • 是一个比线程更轻量级单位,是组成现成的各个函数。
  • 在一个线程内可以实现并发。当某个函数发生IO操作,可以马上切换到另一个函数去执行。提高单线程的cpu利用率。
  • 使用yield可以保存当前状态,实现函数暂停。只是单存的切换,不支持IO操作时,自动切换。
def consumer():
        while 1:
                x=yield                            #函数暂停
                print(x)
def producer():
        g=consumer()
        next(g)
        for i in range(100):
                g.send(i)                          #传值给yield
                print ("is producing")
producer()
#结果输出
0
is producing
1
is producing
2
is producing
3
is producing
4
is producing
5
is producing
6
is producing
  • import gevent 当函数中遇到IO操作时,就自动切换到另一个函数
    gevent.spawn(func,参数)
    gevent.join() 让函数func执行完毕
    func停止的原因,func执行完了 遇到IO操作
import gevent

def func1():
    print ("1,2,3,4")
        gevent.sleep(1)
        print ("5,6,7,8")
        gevent.sleep(1)

def func2():
    print ("4,3,2,1")
        gevent.sleep(1)
        print ("8,7,6,5")

g1=gevent.spawn(func1)
g2=gevent.spawn(func2)
g1.join()

#结果
1,2,3,4
4,3,2,1
5,6,7,8
8,7,6,5

相关文章

  • python异步协程(aiohttp,asyncio)

    python异步协程 环境:python3.7.0 协程 协程,英文叫做 Coroutine,又称微线程,纤程,协...

  • asyncio + asyncio 异步编程实例

    协程用法 接下来,我们来了解下协程的实现,从 Python 3.4 开始,Python 中加入了协程的概念,但这个...

  • Python 协程

    仅供学习,转载请注明出处 协程 协程,又称微线程,纤程。英文名Coroutine。 协程是啥 协程是python个...

  • 协程

    1.协程 协程,又称微线程,纤程。英文名Coroutine。 1.1 协程是什么 协程是python个中另外一种实...

  • Python并发编程——协程

    摘要:Python,协程,gevent 协程基本概念 协程,又称微线程,纤程。英文名Coroutine,是Pyth...

  • 协程介绍

    协程 协程,又称微线程,纤程。英文名Coroutine。 1.协程是什么? 协程是python个中另外一种实现多任...

  • 4-7

    协程 协程,又称微线程,纤程。英文名Coroutine。 协程是啥 协程是python个中另外一种实现多任务的方式...

  • 协程

    协程 协程,又称微线程,纤程。英文名Coroutine。 协程是啥 协程是python个中另外一种实现多任务的方式...

  • Python 协程 异步资料记录

    1. Python3.5协程原理 详细说明了Python协程产生的历史. 研究明白之后,写一篇文章,解释协程,并附...

  • 36.Python并发编程之协程

    Python并发编程之协程 协程协程是程序级别的概念,操作系统根本就没有协程的概念!!!协程的本质就是一条线程,可...

网友评论

      本文标题:PYTHON协程

      本文链接:https://www.haomeiwen.com/subject/ftqdzftx.html