<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
      <title>bigfish的网络博客 - Go</title>
      <link>https://blog.laofu.online</link>
      <description>记录技术和生活</description>
      <generator>Zola</generator>
      <language>zh</language>
      <atom:link href="https://blog.laofu.online/tags/go/rss.xml" rel="self" type="application/rss+xml"/>
      <lastBuildDate>Wed, 07 Oct 2026 15:48:15 +0800</lastBuildDate>
      <item>
          <title>从并发模型的演进看：为什么 Rust 的无栈协程是最优解？</title>
          <pubDate>Wed, 07 Oct 2026 15:48:15 +0800</pubDate>
          <author>bigfish</author>
          <link>https://blog.laofu.online/blog/thread-goroutine-rust-stackless-design/</link>
          <guid>https://blog.laofu.online/blog/thread-goroutine-rust-stackless-design/</guid>
          <description xml:base="https://blog.laofu.online/blog/thread-goroutine-rust-stackless-design/">&lt;p&gt;Go 可以在普通调用链深处挂起 goroutine，让线程去执行其他工作。Rust 为什么没有采用同样的方式，却要求显式的 async/await，还引入 Future、Pin 和执行器？&lt;/p&gt;
&lt;p&gt;答案不只是“无栈更省内存”。Rust 要在支持大量等待的同时，保留可组合的抽象，不强制所有程序依赖统一的调度与 I/O 运行时。这组目标，决定了它怎样保存未完成的工作。&lt;/p&gt;
&lt;p&gt;这里的“最优解”指契合 Rust 的设计目标，不是所有负载下的性能冠军。先看线程怎样保存执行现场，再沿 Go 和 Rust 的暂停、恢复过程比较两种选择。&lt;/p&gt;</description>
      </item>
    </channel>
</rss>
