协程,gevent模块

  • 多进程,每启动一个程序单开一块空间,单分配一些资源
  • 多线程,在一个进程里面开多个线程,让多个线程同时工作,操作系统控制线程
    • 对IO操作阻塞感知能力强
  • 多协程,在一个线程,跑多个任务,程序控制协程
    • 程序是别人写好的模块,所以感知IO操作阻塞能力差
  • gevent可以实现,当函数遇到IO操作(阻塞)时,就可以自动切换到另一个函数中
    • g1 = gevent.spawn(func,参数)
      g1.join() 让func函数执行完毕
      gevent.join([g1,g2,g3]) 多个函数可以用joinall,放入可迭代对象
    • gevent只识别自己的IO操作,不识别其他的IO操作
      • 解决办法 from gevent import monkey
        monkey.patch_all()
  • 进程,线程,协程的对比27.进程、线程、协程对比 (itprojects.cn)
  • 性能测试的本质是并发
  •  
posted @   3notblv  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示