- 博客(2)
- 收藏
- 关注
原创 golang的多线程(新手向)
这是最基础的channel,为什么设计成这样,这是谷歌多年来无数代码总结的经验,这种方式牺牲了一部分并发的效率,但是出错的概率很小,虽然不够灵活,但是基本的功能其实已经完成了,golang完成异步编程的办法和C#等不一样,go接受了异步代码和同步不一样的事实,选择让开发者使用channel自己控制逻辑,我认为更灵活,并且,在最基础的channel上还加上一些升级功能,如下。而这种堵塞会一直持续,一直到什么时候联系完成或者通道关闭,关闭的时候,会直接给msg赋0值,比如string。##所有工具的简单介绍。
2024-07-24 14:30:05
219
原创 C#,await,async,task
这背后有一个复杂的任务调度和上下文恢复机制,dotnet是很复杂的,我作为C#初学者并没有能够具体搞懂其中的奥妙,但是我可以简单的理解为,定义了Task之后,可以由await进行调用,并且与之相关的一系列代码都会进入一个新的线程中完成,主线程会绕过与之相关的代码,去完成接下来的任务,至于async,很遗憾我也不能解释清楚,但是显然的是,使用了这一套方法的函数和普通函数相当不一样,内部有一套自己的处理逻辑,async更像是告诉编译器的一种声明("你对我要特殊对待"),这个会同步运行一个task。
2024-07-23 23:02:35
678
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人