由于 PHP-FPM 的特殊生命周期,导致 PHP 的 gRPC 官方代码生成器只能生成数据结构和客户端代码,无法像 golang/node.js/python 一样能同时生成服务器代码;传统方式如果要搭建 PHP gRPC 服务器只能借助 nginx+h2+phpfpm 来搭建,这样就不需要 server 代码了,但是短生命周期又 ...
C++20 给我们带来了非常现代化的协程特性,但是主要的增加都集中于语核部分。由于库特性尚未准备充分,所以 C++20 标准库中尚没有多少现成的、组装好的协程设施供我们使用。但是!仅仅通过使用 std::coroutine_handle (这是一个编译器为之开洞的类)并在你的类 ...
最近在做后端服务python到go的迁移和重构,这两种语言里,最大的特色和优势就是都支持协程。之前主要做python的性能优化和架构优化,一开始觉得两个协程原理和应用应该差不多,后来发现还是有很大的区别,今天就在这里总结一下。 什么是协程 在说它们两者 ...
大部分的任务切换都发生在可能会阻塞的地方,例如读取文件或者网络等等。asyncio 提供了一些特性包括在指定时间运行某个任务,指示某个 coroutines 等待其他的完成才开始执行等等。 模块 asyncio 是一个异步IO和并发框架。 asyncio 提供了协程 coroutines 创建并发 ...
你在 Python 中用过异步编程吗?本文中我会告诉你怎样做,而且用一个能工作的例子来展示它:这是一个流行的贪吃蛇游戏,而且是为多人游戏而设计的。 你在 Python 中用过异步编程吗?本文中我会告诉你怎样做,而且用一个能工作的例子来展示它:这是一个流行 ...
之前 PythonTG 翻译组分享过一篇 Pygame 的入门教程,教的是单机游戏开发。今天和大家分享如何编写一个多人在线游戏,此教程共分为三部分,今天是第一篇,为大致概述。有兴趣的朋友请继续关注后续文章。 本文作者为 Kyrylo Subbotin,是一家 IT 咨询公司的 Python ...