协程

一些常见的并发编程错误

一些常见的并发编程错误

Go 并不会阻止一些因 Go 程序员粗心大意或者缺乏经验而造成的并发编程错误。在本文的下面部分将展示一些在 Go 编程中常见的并发编程错误,以帮助 Go 程序员们避免再犯类似的错误。
一个使用 asyncio 协程的网络爬虫(一)

一个使用 asyncio 协程的网络爬虫(一)

首先,我们会实现一个事件循环并用这个事件循环和回调来勾画出一只网络爬虫。它很有效,但是当把它扩展成更复杂的问题时,就会导致无法管理的混乱代码。
雾里看花之 Python Asyncio

雾里看花之 Python Asyncio

从试用的经历来看,该模块比我预想的复杂许多,我现在可以非常肯定地说,我不知道该如何恰当地使用 asyncio。
使用 Python 和 Asyncio 编写在线多人游戏(三)

使用 Python 和 Asyncio 编写在线多人游戏(三)

说实话,我十分享受 Python 最新的异步特性。新的语法做了改善,所以异步代码很容易阅读。可以明显看出哪些调用是非阻塞的,什么时候发生 greenthread 的切换。所以现在我可以宣称 Python 是异步编程的好工具。
使用 Python 和 Asyncio 编写在线多用人游戏(二)

使用 Python 和 Asyncio 编写在线多用人游戏(二)

游戏循环是每一个游戏的核心。它持续地运行以读取玩家的输入、更新游戏的状态,并且在屏幕上渲染游戏结果。在在线游戏中,游戏循环分为客户端和服务端两部分,所以一般有两个循环通过网络通信。
使用 Python 和 Asyncio 编写在线多人游戏(一)

使用 Python 和 Asyncio 编写在线多人游戏(一)

最近版本的 Python 对 asyncio 的引入和一个特别的 async/await 语法使得异步代码看起来像常规的阻塞代码一样,这使得 Python 成为了一个值得信赖的异步编程语言,所以我将尝试利用这些新特点来创建一个多人在线游戏。