06 2024 档案
发表于 2024-06-20 00:36阅读次数:23评论次数:0
摘要:在C#中,反射(Reflection)是一个强大的工具,它允许程序在运行时检查类型的信息(如类、结构、接口、字段、属性、方法等),并且可以动态地创建和调用类型的实例。反射主要使用System.Reflection命名空间中的类。 以下是一些反射的常见用法: 获取类型信息: 使用Typeof运算符或o
阅读全文 »
发表于 2024-06-19 00:02阅读次数:30评论次数:0
摘要:一、定义异步任务 //定义异步任务 public class AsyncClass { public static async Task TaskAsync(CancellationToken token) { token.Register(() => { Console.WriteLine("Ta
阅读全文 »
发表于 2024-06-16 23:42阅读次数:29评论次数:0
摘要:使用线程安全的集合 线程安全的集合类都位于System.Collections.Concurrent命名空间中 ConcurrentBag<T>:表示一个线程安全的无序集合,允许并发添加和移除元素。它不同于传统的集合,因为它不保证元素的顺序,并且不支持枚举过程中的元素修改。ConcurrentBag
阅读全文 »
发表于 2024-06-16 23:24阅读次数:20评论次数:0
摘要:定义 在C#中,存在多种类型的信号量或同步机制来控制对共享资源的访问。这些信号量通常用于多线程编程,以确保资源在并发访问时的正确性和一致性。以下是一些主要的信号量及其描述: AutoResetEvent: 当线程调用WaitOne方法时,它会阻塞,直到另一个线程调用Set方法。 一旦Set方法被调用
阅读全文 »
发表于 2024-06-14 23:17阅读次数:42评论次数:0
摘要:
阅读全文 »
发表于 2024-06-13 12:02阅读次数:19评论次数:0
摘要:一、缓存雪崩、缓存穿透 现象:缓存雪崩:大量缓存同时过期、缓存中间件宕机 缓存穿透:访问不存在key、缓存过期解决:缓存雪崩:设置不同过期时间 缓存穿透:不存在key也存入缓存、使用布隆过滤器、使用分布式锁 二、Redis集群 主从复制:支持redis读写分离,不支持故障恢复 哨兵集群 :在主从复制
阅读全文 »
发表于 2024-06-05 22:29阅读次数:19评论次数:0
摘要://connection //channel //broke //exchange:fanout、 dirct、 topic(*:一个单词、#:多个单词)、 header //queue //bind(exchange,queue,routingkey) //一、如何保证消息不丢失 //生产者发布消
阅读全文 »