会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
一纸年华
潜藏于波涛下寂静无声,跃升于惊涛上乘风化龙
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
9
10
···
17
下一页
2022年9月8日
C#并行编程:并发集合
摘要: .NET Core在System.Collections.Concurrent命名空间下提供了线程安全的集合: | 并发集合 | 非并发等价集合 | | | | | ConcurrentStack<T> | Stack<T> | | ConcurrentQueue<T> | Queue<T> | |
阅读全文
posted @ 2022-09-08 11:50 龙猫•ᴥ•
阅读(1277)
评论(0)
推荐(0)
2022年9月7日
C#并行编程:任务并行
摘要: 任务并行是PFX中最底层的并行化方式。相关的类定义在System.Threading.Tasks命名空间,其中包括: Task:管理一个工作单元; Task<TResult>:管理一个带有返回值的工作单元; TaskFactory:创建任务; TaskFactory<TResult>:创建具有指定返
阅读全文
posted @ 2022-09-07 17:32 龙猫•ᴥ•
阅读(1467)
评论(0)
推荐(0)
2022年9月6日
C#线程:本地存储
摘要: 1.[ThreadStatic]特性 实现线程本地存储最简单的方式是在静态字段上附加ThreadStatic特性: [ThreadStatic] static int _x; 这样,每个线程都会得到一个_x的独立副本。 但是,[ThreadStatic]并不支持实例字段(它对实例字段并不会产生任何作
阅读全文
posted @ 2022-09-06 11:00 龙猫•ᴥ•
阅读(638)
评论(0)
推荐(1)
2022年9月5日
C#并行编程:Parallel类
摘要: PFX在Parallel类中提供了三个静态方法作为结构化并行的基本形式: Parallel.Invoke方法:并行执行一组委托。 Parallel.For方法:执行与C# for循环等价的并行方法。 Parallel.ForEach方法:执行与C#foreach循环等价的并行方法。 这三个方法都会阻
阅读全文
posted @ 2022-09-05 17:23 龙猫•ᴥ•
阅读(1442)
评论(0)
推荐(1)
2022年9月2日
C#并行编程:PLINQ
摘要: PLINQ可以自动并行化本地LINQ查询。易于使用是PLINQ的优势,因为它将工作划分和结果整理的任务交给了.NET Core。 要使用PLINQ,只需直接在输入序列上调用AsParallel()方法,而后和先前一样编写普通的LINQ查询即可。 例如,以下范例列出了3~100 000之间的所有素数,
阅读全文
posted @ 2022-09-02 16:01 龙猫•ᴥ•
阅读(936)
评论(0)
推荐(0)
2022年9月1日
C#并行编程:简要
摘要: **通过编程发挥多核或多处理器优势的方式称为并行编程。**它是多线程这个更宽泛概念的一个子集。 多线程API和以下可以发挥多核处理器能力的各种结构: 并行LINQ(PLINQ) Parallel类 任务并行结构 并发集合 这些类型一般统称为并行框架(Parallel Framework,PFX)。
阅读全文
posted @ 2022-09-01 16:10 龙猫•ᴥ•
阅读(623)
评论(0)
推荐(0)
C#.Net 定时器
摘要: 如果需要定期重复执行一些方法,最容易的方式就是使用定时器。相比以下方式,定时器既方便使用又能高效地利用内存和资源。 new Thread(delegate () { while (enabled) { DoSomeAction(); Thread.Sleep(TimeSpan.FromHours(2
阅读全文
posted @ 2022-09-01 11:11 龙猫•ᴥ•
阅读(1943)
评论(0)
推荐(0)
C#线程:使用事件等待句柄发送信号
摘要: 最简单的信号发送结构是事件等待句柄(注意它和C#的事件是无关的)。事件等待句柄有三种实现:AutoResetEvent、ManualResetEvent(Slim)和CountdownEvent。前两种基于通用的EventWaitHandle类,它们继承了基类的所有功能。 AutoResetEven
阅读全文
posted @ 2022-09-01 10:38 龙猫•ᴥ•
阅读(1790)
评论(0)
推荐(1)
2022年8月31日
C#线程:非排他锁
摘要: 非排他锁目的是限制并发性。 信号量 信号量(semaphore)就像俱乐部一样:它有特定的容量,还有门卫保护。在满员之后,就不允许其他人进入了,人们只能在外面排队。只有当有人离开时,才准许另外一个人进入。信号量的构造器需要至少两个参数:即俱乐部当前的空闲容量以及俱乐部的总容量。 容量为1的信号量与M
阅读全文
posted @ 2022-08-31 15:03 龙猫•ᴥ•
阅读(144)
评论(0)
推荐(0)
2022年8月30日
C#线程:排它锁
摘要: 排他锁结构有三种:lock语句、Mutex和SpinLock。 **其中lock是最方便最常用的结构。**而其他两种结构多用于处理特定的情形:Mutex可以跨越多个进程(计算机范围锁)。SpinLock可用于实现微优化,可以在高并发场景下减少上下文切换。 lock语句 先看如下代码: class T
阅读全文
posted @ 2022-08-30 15:49 龙猫•ᴥ•
阅读(798)
评论(0)
推荐(0)
C#集合:字典
摘要: 字典是一种集合,其包含的元素均为键值对。字典通常用于查找或用作排序列表。 框架通过IDictionary和IDictionary<TKey, TValue>接口以及一系列通用的字典类定义了标准字典协议。 IDictionary<TKey, TValue> IDictionary<TKey, TVal
阅读全文
posted @ 2022-08-30 11:08 龙猫•ᴥ•
阅读(1815)
评论(0)
推荐(0)
2022年8月29日
C#集合:List、Queue、Stack和Set
摘要: .NET Core提供了一些基本的具体集合类,这些类实现了一系列集合接口。和集合接口一样,每一种集合类型都可以选择使用泛型或非泛型进行实现。在灵活性和性能方面,泛型类更具有优势,而它们的非泛型冗余版本则是为了向后兼容。这与集合接口不同,非泛型集合接口在某些情形下是有其作用的。而泛型List类是最常用
阅读全文
posted @ 2022-08-29 17:46 龙猫•ᴥ•
阅读(2472)
评论(0)
推荐(1)
2022年8月26日
C#集合:Array类
摘要: Array类是所有一维和多维数组的隐式基类,它是实现标准集合接口的最基本类型之一。Array类提供了类型统一性,所以所有的数组对象都能够访问同一套公共方法,而与它们的声明或实际的元素类型无关。 当使用C#语法声明数组时,CLR会将其隐式转换为Array类的子类,合成一个对应该数组维度和元素类型的伪类
阅读全文
posted @ 2022-08-26 17:20 龙猫•ᴥ•
阅读(1721)
评论(0)
推荐(0)
C#集合:ICollection和IList接口
摘要: 虽然枚举接口IEnumerable提供了一种向前迭代集合的协议,但是它们并没有提供确定集合大小、根据索引访问成员、搜索以及修改集合的机制。为了实现这些功能,.NET Core定义了ICollection、IList和IDictionary接口。这些接口都支持泛型和非泛型版本。然而,非泛型版本的存在只
阅读全文
posted @ 2022-08-26 14:01 龙猫•ᴥ•
阅读(1335)
评论(0)
推荐(0)
2022年8月24日
C#.Net如何手写ORM
摘要: 快速认识ORM 对象-关系映射,即Object/Relation Mapping,主要实现程序对象到关系数据库的映射。现在.Net比较流行的ORM框架有:EF、SqlSugar、Dapper、FreeSql、Nhibernate、IBatis.Net等。 O/RM只是一层代码的封装,底层还是基于AD
阅读全文
posted @ 2022-08-24 15:22 龙猫•ᴥ•
阅读(2060)
评论(3)
推荐(2)
上一页
1
2
3
4
5
6
7
8
9
10
···
17
下一页