最新 最热

理解C#中的ValueTask

Task类是在.NET Framework 4引入的,位于System.Threading.Tasks命名空间下,它与派生的泛型类Task<TResult>已然成为.NET编程的主力,也是以async/await(C# 5引入的)语法糖为代表的异步编程模型的核心。...

2023-10-23
0

C#使用BeginInvoke实现异步编程

BeginInvoke方法是委托(Delegate)类的一个成员,它允许你在一个新的线程中异步执行方法。它通常用于执行长时间运行的操作,以确保主线程保持响应性。...

2023-10-23
1

.NET 单个异步任务如何同时监听多个取消请求(CancellationToken)

异步编程中,并不是所有时候 await 等的都是新的异步任务;有时候同一个异步任务可能被多次等待,并且每个等待都可以有自己的取消请求,即 CancellationToken。那么如何在一个异步任务中同时响应多个取消请求呢?...

2023-10-23
1

3分钟白话RocketMQ系列—— 如何保证消息不丢失

消息发送成功返回确认消息,那就能确保消息不丢失。如果发送失败了,mq-client就尝试自动重试,避免网络抖动导致发送丢失。

2023-10-22
1

3分钟白话RocketMQ系列—— 如何存储消息

RocketMQ使用了一种基于日志的存储方式,将消息以顺序写入的方式追加到文件中,从而实现高性能的消息存储和读取。

2023-10-22
1

探索 yield 关键字

「yield」关键字是 C# 中的一种语言特性,用于在枚举器中简化迭代器的实现。它使得开发人员可以通过定义自己的迭代器来简化代码,而不必手动实现 IEnumerable 和 IEnumerator 接口。...

2023-10-22
0

并发编程 --- 异步方法的异常处理

因为 DontHandle() 方法在 ThrowAfter() 方法抛出异常之前,就已经执行完毕。

2023-10-22
1

访问记录和回忆相片修改

今天完成的任务相对来说非常的轻松,添加了用户访问栏目的记录、相片名字描述的修改以及专辑的封面名字修改。

2023-10-22
1

async/await 回调地狱解决方案

在 js 异步编程中,通过回调函数实现当多个异步逻辑间产生顺序或关联逻辑,就会产生回调嵌套(回调地狱),导致代码丑陋且难以阅读,形如:

2023-10-22
1

通俗理解-异步非阻塞

同步:当一个同步调用发出去后,调用者要一直等待调用结果的通知后,才能进行后续的执行。异步:当一个异步调用发出去后,调用者不能立即得到调用结果的返回。...

2023-10-22
1