zoukankan      html  css  js  c++  java
  • gevent注意事项

    1. gevent.server.StreamServer 会针对每个客户端连接启动一个greenlet处理,要注意的是,如果不循环监听( 阻塞在read ),

    每个greenlet会在完成后立即退出,从而导致客户端退出( 发送FIN_ACK给客户端 )。这个问题折腾了一晚上,终于弄明白了。坑爹啊。。。

    2. 要非常仔细的检查,greenlet处理的代码,发现有可能阻塞IO的地方,尽量用gevent提供的库。

    3. 一些第三方库隐藏了自己的实现( 通常是直接封装C库),要使得gevent兼容它们,可以用monkey_patch,但不保证全部管用。

    4. 最后最后的一点,gevent的greenlet性能非常高,所以如果是用它作为并发的client端,那么一定要注意,你的server端处理速度一定要足够快!

    否则你的客户端代码会因为服务端的慢速,而失去了greenlet的优势。。。

  • 相关阅读:
    Netty Nio启动全流程
    线性表
    java stream 原理
    SpringBoot 分布式session
    mockito
    RxJava
    HandlerMapping 详解
    SpringMVC 架构
    Spring Cloud 配置服务
    SpringBoot常用配置简介
  • 原文地址:https://www.cnblogs.com/huazi/p/2614482.html
Copyright © 2011-2022 走看看