<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>程序语言设计 on Answer</title>
    <link>https://answer.freetools.me/categories/%E7%A8%8B%E5%BA%8F%E8%AF%AD%E8%A8%80%E8%AE%BE%E8%AE%A1/</link>
    <description>Recent content in 程序语言设计 on Answer</description>
    <generator>Hugo -- 0.152.2</generator>
    <language>zh-cn</language>
    <lastBuildDate>Fri, 06 Mar 2026 03:01:32 +0800</lastBuildDate>
    <atom:link href="https://answer.freetools.me/categories/%E7%A8%8B%E5%BA%8F%E8%AF%AD%E8%A8%80%E8%AE%BE%E8%AE%A1/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>协程调度：从用户态线程到Go GMP模型的二十年演进</title>
      <link>https://answer.freetools.me/%E5%8D%8F%E7%A8%8B%E8%B0%83%E5%BA%A6%E4%BB%8E%E7%94%A8%E6%88%B7%E6%80%81%E7%BA%BF%E7%A8%8B%E5%88%B0go-gmp%E6%A8%A1%E5%9E%8B%E7%9A%84%E4%BA%8C%E5%8D%81%E5%B9%B4%E6%BC%94%E8%BF%9B/</link>
      <pubDate>Fri, 06 Mar 2026 03:01:32 +0800</pubDate>
      <guid>https://answer.freetools.me/%E5%8D%8F%E7%A8%8B%E8%B0%83%E5%BA%A6%E4%BB%8E%E7%94%A8%E6%88%B7%E6%80%81%E7%BA%BF%E7%A8%8B%E5%88%B0go-gmp%E6%A8%A1%E5%9E%8B%E7%9A%84%E4%BA%8C%E5%8D%81%E5%B9%B4%E6%BC%94%E8%BF%9B/</guid>
      <description>深入解析协程调度机制的演进历程。从1963年Melvin Conway提出协程概念，到2012年Dmitry Vyukov设计GMP模型，再到2023年Java 21引入Virtual Threads，六十年间协程从编译器技术演变为现代并发编程的基石。文章详细剖析有栈与无栈协程的设计权衡、Go调度器从GM到GMP的演进、分段栈到连续栈的内存革命、协作式到抢占式的调度突破，以及协程泄漏、调度饥饿等实际问题的根源与解决方案。</description>
    </item>
    <item>
      <title>闭包捕获：为什么同一个循环变量在不同语言中行为截然不同</title>
      <link>https://answer.freetools.me/%E9%97%AD%E5%8C%85%E6%8D%95%E8%8E%B7%E4%B8%BA%E4%BB%80%E4%B9%88%E5%90%8C%E4%B8%80%E4%B8%AA%E5%BE%AA%E7%8E%AF%E5%8F%98%E9%87%8F%E5%9C%A8%E4%B8%8D%E5%90%8C%E8%AF%AD%E8%A8%80%E4%B8%AD%E8%A1%8C%E4%B8%BA%E6%88%AA%E7%84%B6%E4%B8%8D%E5%90%8C/</link>
      <pubDate>Fri, 06 Mar 2026 02:55:46 +0800</pubDate>
      <guid>https://answer.freetools.me/%E9%97%AD%E5%8C%85%E6%8D%95%E8%8E%B7%E4%B8%BA%E4%BB%80%E4%B9%88%E5%90%8C%E4%B8%80%E4%B8%AA%E5%BE%AA%E7%8E%AF%E5%8F%98%E9%87%8F%E5%9C%A8%E4%B8%8D%E5%90%8C%E8%AF%AD%E8%A8%80%E4%B8%AD%E8%A1%8C%E4%B8%BA%E6%88%AA%E7%84%B6%E4%B8%8D%E5%90%8C/</guid>
      <description>从1964年Peter Landin首次提出闭包概念，到2024年Go 1.22修改循环变量语义，六十年间闭包捕获机制在不同语言中呈现出截然不同的设计选择。本文深入剖析JavaScript的var/let语义差异、Python的延迟绑定、Go的十年语义变迁、Rust的所有权系统、C&#43;&#43;的显式捕获、Swift的捕获列表以及Java的invokedynamic实现，揭示安全、简洁、性能三者之间的深层权衡。</description>
    </item>
  </channel>
</rss>
