不是,这里面的重点是 sync 的 IO operation 也不 block 线程了
那段代码的关键不是 RunAsGreenThread,而是 response.Body.Write,这是一个 block 的 write
有很多的 runtime 改动来支持
【 在 leadu 的大作中提到: 】
: 这不就是加了个api么,看着像是用TaskCompletionSource把ThreadPool.QueueUserWorkItem包装了一层。
: 你可能没有明白我这说啥,第一代协程如果说最成熟的形式是线程池的话,线程池这个东西,做后端的语言都是有需求的,很多语言都有库,就算没有,在Windows xp上调用个QueueUserWorkItem api也都不是问题
: go的问题在与它把api级别的做成了语言级别,而且把go关键词给了它
: ...................
--
FROM 98.45.244.*