同步异步与协程线程进程关系

同步异步与协程线程进程关系.
参考:链接
主要看那个老张烧开水:
异步执行:老张(调用者),烧开水.是一个调用者-->烧开水.然后烧开水-->(反馈)调用者,调用者-->上水(剩余,直接先写)的过程.
有了协程,是不是可以不要异步了?应该就是!搞一堆协程池,都是干活的.这个事情完了,或者慢得很,就不管了,干其他事情,当反馈后,直接另外一个协程去干活.
应该就是这样.所谓的异步,不过是一件事情分拆成几个动作. 只不过编程的时候都写在一起,执行的时候分开执行而已.
再仔细思考:异步,为什么异步?就是干某件事的时间长,如果瞎等,实在是瞎.所以就必须另起个工作者来专门作这件事.然后你就可以做其他事情了.而不是瞎等.
因而,只要耗时长的事情,都可以异步走起.另开一个工作者.主要其实就是协程.所以,我一直看协程,协程.看了过后,感觉没异步什么事了呢?原来异步就是靠协程或线程来实现.但线程成本太高,因而就用协程了.
当然,做一件事,可能有几件事情都非常消耗时间,这时,用同步手法写异步或者写协程就是非常爽的了.
参考这篇文章,非常好的文章.
其实就是把原来的一根死线程拆解成一堆活协程.这样,你这边慢,我就保存环境,然后干其他事.等你完成后,把要办的活干了.
协程还可以返回值.

Task Add100ByCoroutine(int init, call_back f)
{
    int ret = co_await Add100AWaitable(init);
    ret = co_await Add100AWaitable(ret);
    ret = co_await Add100AWaitable(ret);
    f(ret);//流程化执行.它这里怪,都是相同函数
}

当然,大量计算耗时的任务,还是得交给线程去完成.

posted @   zjh6  阅读(13)  评论(0编辑  收藏  举报  
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示