原文: Green threads explained in 200 lines of rust language
地址: https://cfsamson.gitbook.io/green-threads-explained-in-200-lines-of-rust/
作者: Carl Fredrik Samson(cfsamson@Github)
翻译: 耿腾 翟堃
本书旨在通过一个小例子解释绿色线程。我们会实现一个简单但能工作的程序,在这个程序中我们可以使用自己实现的绿色线程来执行代码。
译者注:原书前三章分别为 绪论(Introduction)、绿色线程(Green Threads)、背景信息(Background Information),因篇幅较短,我在本译文系列中把它们合并为 绪论及基本概念。
绪论
我们在这里使用的所有代码都存储在一个Github仓库中。该库有两个分支,主分支(master)只包含代码,注释分支(commented)包含代码以及注释,其中的注释解释了我们所做的工作。
绿色线程,或称用户态线程、goroutine、纤程(译者注:也叫“协程”、“coroutine”),它有许多名称,但为了简单起见,我将从现在开始将它们全部称为 绿色线程。
在本文中,我想通过实现一个非常简单的示例来探索它们是如何工作的,用 200 行 Rust 代码创建自己的绿色线程。我们将在整个过程中解析所有相关内容,因此我们关注的重点是通过使用简单但有效的示例来理解它们并学习它们的工作原理。
我们不会使用任何外部库或帮助程序,并将从零开始做所有事情,因此我们得确保我们真正了解整个过程中发生了什么。
这篇文章是写给谁的?
在这篇文章中,我们会探索兔子洞中的世界(译者注:引喻爱丽丝漫游奇境记中的新世界),如果这听起来很可怕,那么这篇文章可能不适合你,回去过自己幸福的小日子吧。
如果你是一个好奇的人,想要了解这些东西的运作方式,那么请继续读下去。也许你已经听说