首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏SeanCheney的专栏

    greenlet: Lightweight concurrent programming

    Greenlets are provided as a C extension module for the regular unmodified interpreter. Greenlets are an alternate solution that don’t have the related locking and shutdown problems. Jumping between greenlets is called “switching”. Greenlets can also die of an uncaught exception. This way, greenlets are organized in a tree.

    56120发布于 2019-02-15
  • 来自专栏物流IT圈

    多线程让可扩展性走进了死胡同

    我们发现greenlets。它提供一种非隐式的微线程调度,称为co-routine协程。换句话说。当你想控制你的代码运行时它非常有用。 您可以构建自定义计划的微线程,因为你可以控制greenlets什么时候yield暂停。这对我们来说是完美的,因为它给了我们完全控制我们的代码的调度。 如果我们在我们的代码中直接用上面的模块,我们大量的RPC代码将不得不改变,通过greenlets调度RPC,确保greenlets不要阻塞(如果greenlets堵塞,它会堵塞整个线程和其他全部),处理来自 我们需要一个抽象来管理和安排greenlets 以避免让它被外部调用堵塞,这个抽象能够超越线程达到大规模可扩展。这个抽象是Dhaga,它能让应用代码流编程起来像传统同步顺序,但是执行是异步的。

    1K30发布于 2019-07-16
  • 来自专栏Python无止境

    同步与异步 Python 有何不同?

    Greenlets 和协程类似,它们也允许一个 Python 函数暂停执行并稍后恢复,但是它们实现这点的方式完全不同,这意味着 Python 中的异步生态系统分成两大类。 协程与 greenlets 之间针对异步开发最有意思的区别是,前者需要 Python 语言特定的关键字和特性才能工作,而后者并不需要。 但是,Flask 并不是唯一受益于 greenlets 的框架。 其它 Web 框架,例如 Django 和 Bottle],虽然没有 greenlets,但也可以通过结合一个 greenlet Web 服务器并使用 monkey-patching 修复阻塞函数的方式来异步运行 我希望你能记住以下两个关键点: 异步应用程序只有在高负载下才会比同步应用程序做得更好 多亏了 greenlets,即使你用一般方式写代码并使用 Flask 或 Django 之类的传统框架,也能从异步中受益

    1.6K20发布于 2020-10-23
  • 来自专栏用户7731250的专栏

    压测工具locust特性以及实现

    DistributedRunner:和Runner基本一样,但是进行了一系列事件监听的注册,用于测试结果的上报,监听在3.3.5事件钩子中会分析; MasterRunner:master节点的Runner核心,本身不会产生任何greenlets ,但会与WokerRunner进行连接,控制启停greenlets,并将WokerRunner产生的压力结果进行聚合; WokerRunner:salve节点的Runner核心,会与MasterRunner 进行连接,被master控制的启停“用户”greenlets,并定期将“用户”生成的数据统计,并上报至WokerRunner。

    2.4K62发布于 2021-03-02
  • 来自专栏学而时习之

    性能测试工具locust源码分析

    DistributedRunner:和Runner基本一样,但是进行了一系列事件监听的注册,用于测试结果的上报,监听在3.3.5事件钩子中会分析; MasterRunner:master节点的Runner核心,本身不会产生任何greenlets ,但会与WokerRunner进行连接,控制启停greenlets,并将WokerRunner产生的压力结果进行聚合; WokerRunner:salve节点的Runner核心,会与MasterRunner 进行连接,被master控制的启停“用户”greenlets,并定期将“用户”生成的数据统计,并上报至WokerRunner。

    2.2K50发布于 2021-04-22
  • 来自专栏python3

    python使用pika操作rabbitmq

    The same goes for greenlets, callbacks, continuations, and generators.   但是pika并不禁用线程, 对于 greenlets, callbacks也一样。

    3.1K20发布于 2020-03-27
  • 来自专栏python3

    python bottle 简介

    written in C eventlet eventlet Asynchronous framework with WSGI support. gevent gevent Asynchronous (greenlets ) diesel diesel Asynchronous (greenlets) fapws3 fapws3 Asynchronous (network side only), written in C

    1.6K20发布于 2020-01-15
  • 来自专栏CSIG质量部压测团队

    压测工具locust特性及实现

    DistributedRunner:和Runner基本一样,但是进行了一系列事件监听的注册,用于测试结果的上报,监听在3.3.5事件钩子中会分析; MasterRunner:master节点的Runner核心,本身不会产生任何greenlets ,但会与WokerRunner进行连接,控制启停greenlets,并将WokerRunner产生的压力结果进行聚合; WokerRunner:salve节点的Runner核心,会与MasterRunner 进行连接,被master控制的启停“用户”greenlets,并定期将“用户”生成的数据统计,并上报至WokerRunner。

    2K41发布于 2021-03-03
  • 来自专栏sktj

    python核心编程(网络编程)

    研究至少5 个基于Python 的不同异步系统,可以从Twisted、Greenlets、 Tornado、Diesel、Concurrence、Eventlet、Gevent 等中选择。

    1.9K30编辑于 2022-05-14
  • 来自专栏python3

    Python的几种实现

    另一个名为Greenlets的项目也支持微线程。它是一个标准的C扩展,因此不需要对标准Python解释器做任何修改。

    66620发布于 2020-01-07
  • 来自专栏程序员的知识天地

    Python语言在互联网企业应用上的十大谬误

    Python拥有强大的并发原语,包括generators, greenlets, Deferreds, 和futures.。 GIL使得Python可以很便利地使用操作系统的线程或轻线程(通常指greenlets),且不影响使用多进程。更多相关信息,请看该主题的Q&A列表,以及Python文档中的介绍。 在PayPal中,一个典型服务的部署需要多台机器,多个进程,多个线程,以及一个数字非常庞大的greenlets,相当于一个非常强大可扩展的并行环境(见下图)。

    92420发布于 2019-07-14
  • 来自专栏华章科技

    谁说不能用 Python开发企业应用?

    Python拥有强大的并发原语,包括generators, greenlets, Deferreds, 和futures.。 GIL使得Python可以很便利地使用操作系统的线程或轻线程(通常指greenlets),且不影响使用多进程。更多相关信息,请看该主题的Q&A列表,以及Python文档中的介绍。 在PayPal中,一个典型服务的部署需要多台机器,多个进程,多个线程,以及一个数字非常庞大的greenlets,相当于一个非常强大可扩展的并行环境(见下图)。

    1.4K20发布于 2018-08-17
  • 来自专栏机器学习算法与Python学习

    你肯定不全知道的Python 10大谬论

    Python拥有强大的并发原语,包括generators, greenlets, Deferreds, 和futures.。 GIL使得Python可以很便利地使用操作系统的线程或轻线程(通常指greenlets),且不影响使用多进程。更多相关信息,请看该主题的Q&A列表,以及Python文档中的介绍。 在PayPal中,一个典型服务的部署需要多台机器,多个进程,多个线程,以及一个数字非常庞大的greenlets,相当于一个非常强大可扩展的并行环境(见下图)。

    72420发布于 2019-07-04
  • 来自专栏机器学习算法与Python学习

    Python 10大谬论,你可能对Python存在的一些误解!

    Python拥有强大的并发原语,包括generators, greenlets, Deferreds, 和futures.。 GIL使得Python可以很便利地使用操作系统的线程或轻线程(通常指greenlets),且不影响使用多进程。更多相关信息,请看该主题的Q&A列表,以及Python文档中的介绍。 在PayPal中,一个典型服务的部署需要多台机器,多个进程,多个线程,以及一个数字非常庞大的greenlets,相当于一个非常强大可扩展的并行环境(见下图)。

    70330发布于 2018-12-26
  • 来自专栏物流IT圈

    基于线程与基于事件的并发编程之争

    Goroutine最大的特点能够让程序员以同步顺序代码的风格编写异步运行,Goroutine=coroutine协程 + user space threads + fibers + greenlets

    1.4K10发布于 2019-07-16
  • 来自专栏嘘、小点声

    python网络爬虫(2)回顾Python编程

    main__': urls = ['https://github.com/','https://www.python.org/','http://www.cnblogs.com/'] greenlets = [gevent.spawn(run_task, url) for url in urls ] gevent.joinall(greenlets) 支持的池 from gevent import

    77520发布于 2019-07-31
  • 来自专栏程序人生丶

    Python 学习路线:介绍、基础语法、数据结构、算法、高级主题、框架及异步编程详解

    它基于非阻塞 IO(libevent/libev)和轻量级的 greenlets。 非阻塞 IO 意味着等待网络 IO 的请求不会阻塞其他请求;greenlets 意味着我们可以继续以同步样式编写代码。

    75210编辑于 2023-12-22
  • 来自专栏神经网络和深度学习

    基于Python的Web应用程序的Web服务器比较

    Async Workers The asynchronous workers available are based on Greenlets (via Eventlet and Gevent). Greenlets are an implementation of cooperative multi-threading for Python.

    2.8K30发布于 2020-07-03
  • 来自专栏编程之路的专栏

    Python 高级编程

    : 15 urls = ['https://www.baidu.com', 'https://www.python.org/', 'http://www.gevent.org/'] 16 greenlets = [gevent.spawn(run_task, url) for url in urls] 17 gevent.joinall(greenlets) 扩展:IO模型 来自于类Unix系统的概念

    1.5K70发布于 2019-06-26
  • 来自专栏CDA数据分析师

    人们对Python在企业级开发中的10大误解

    Python有大量的并发性原语,包括generators,greenlets,Deferreds和futures。Python有非常多的并发性框架,包括eventlet,gevent和Twisted。

    1.3K60发布于 2018-02-05
领券