美文网首页
关于协程开发

关于协程开发

作者: 昀吖 | 来源:发表于2018-08-23 21:38 被阅读0次

    协程:

    1.什么是协程

    协程,经常被称为微线程,纤程,是一种多任务并发的操作手段
    定义:协程是运行在单线程中的并发程序
    优点:由于协程省去了多线程,多进程并发机制下的切换管理和状态数据管理等,所以操作效率较高

    2.协程的运用

    2.1:协程的多任务并发

    协程既然是多任务并发,参考了多线程的工作机制,通过gevent模块的完成最基本的多任务操作协程
    手工切换 greenlet:
    自动切换:gevent
    手工切换:任务要求一边跳舞一边唱歌

    Import time
    From greenlet import gerrnlet
    Def sing():
    While True:
    Print(“唱歌<<<<<<<<”)
    Time.sleep(1)
    G2.switch()
    Def dance():
    While true:
    Print(“跳舞<<<<<<<<<”)
    Time.sleep()
    G1.switch()
    If __name__ == “__main__”:
    创建两个协程对象
    G1 = greenlet(sing)
    G2 = greenlet(dance)
    G1.switch()
    Print(“主进程执行”)
    

    线程 进程以及协程的区别:

    多进程:应用于中大型项目开发过程中,对于数据管理更加严格的项目并发操作 通过进程管理数据,通过线程运行任务,完成并发处理数据

    多线程:微进程,应用于多任务处理机制,对于数据的操作并不是管理严格
    如:如果出现了一个大文件的复制粘贴功能-> 多线程 效率非常高
    如果出现了一个单路大数据量的的运算功能-> 多线程 < 单线Django web framework
    多人同时访问网站-> 网站并发量-> 多线程的方式实每个线程,会服务一个访问数据请求协程:微线程,应用于多任务处理机制,对于数据的处理更加的松散!

    协程的方式,对于注重多任务处理机制的软件,更加的友好!性能处理更加优秀!
    Tornado web framework多人同时访问网站-> 网站并发量-> 事件轮询机制[epoll/Kqueue系统内核]
    单线程多任务事件轮询机制_>并发处理效率,> Django

    相关文章

      网友评论

          本文标题:关于协程开发

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