C#
C#计算机语言
在路上看风景
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
3.2 FileStream
【代码】3.2 FileStream。原创 2026-01-10 20:01:30 · 99 阅读 · 0 评论 -
3.1 File
【代码】3.1 File。原创 2026-01-09 17:07:54 · 110 阅读 · 0 评论 -
1.17 并行集合
【代码】1.17 并行集合。原创 2025-12-19 11:08:46 · 171 阅读 · 0 评论 -
1.16 PLINQ
PLINQ是LINQ的并行扩展, 核心是通过AsParallel()启用并行查询, 自动将查询任务分发到多线程池, 利用多核CPU提升效率a.PLINQ依赖System.Linq命名空间, 支持内存集合(如List<T>、IEnumerable<T>),不支持LINQ to SQL/EF 等数据库查询b.启用并行(AsParallel), 调用后LINQ查询从"串行"转为"并行"执行// 数据源:1~10000 的整数集合// 【普通 LINQ(串行)】筛选偶数并乘以 2。原创 2025-12-18 16:28:49 · 130 阅读 · 0 评论 -
1.15 并行编程
【代码】1.15 并行编程。原创 2025-12-16 19:48:24 · 856 阅读 · 0 评论 -
1.14 Async和Await
想象一下: 你在不同的场合, 同样是"我饿了", 意思完全不同a.在家说"我饿了" -> 妈妈给你做饭b.在朋友家说"我饿了" -> 朋友给你零食同样一句"我饿了", 因为说的时候环境不同, 结果完全不同编程中的上下文就是当前代码能有的所有东西(变量, 方法, 类, 资源, 环境信息)的集合, 就像你在厨房, 上下文就是厨房里的工具(刀, 锅, 食材), 你能做饭private string name = "全局名字";// 这是类的上下文(成员变量)原创 2025-12-13 15:28:03 · 210 阅读 · 0 评论 -
1.13 Task
1).Task简介Task表示"未来某个时间的承诺"a.同步代码: 就像你去柜台点餐, 必须站在那里一直等到厨师做完, 你拿到餐后才能离开;这期间你什么都干不了(线程阻塞)b.异步Task: 就像你点餐后拿到一个取餐号(Task);你不用傻等, 可以立刻去找座位、玩手机;当餐做好时, 系统会通知你(任务完成), 你再去取Task类表示一个异步操作, 它封装了这个操作的状态(是否完成、是否出错等), 最重要的是,原创 2025-12-07 19:56:29 · 121 阅读 · 0 评论 -
1.12 多线程和异步编程
【代码】1.12 多线程和异步编程。原创 2025-12-05 21:47:22 · 146 阅读 · 0 评论 -
1.11 ThreadPool 线程池
1) . 工作线程a . 简介工作线程被称为后台线程 , 主要用于执行计算密集型或需要长时间处理的任务;它们不会阻塞主线程 , 允许应用程序在后台执行任务的同时保持响应b . 特点 - 用于执行耗时操作 , 如复杂运算 , 数据处理等 - 通常从线程池中获取 , 以避免频繁创建和销毁线程的开销 - 不会阻塞UI线程 , 保持界面流畅2).IO线程不是执行IO操作的线程, 是处理IO完成通知的线程;在C#中, 我们通常不会专门为I/O操作创建单独的线程,而是使用异步I/O操作;原创 2025-12-04 14:24:35 · 174 阅读 · 0 评论 -
1.10 线程其他操作
【代码】1.10 线程其他操作。原创 2025-12-04 13:49:26 · 269 阅读 · 0 评论 -
1.9 线程亲和性, 线程安全,死锁
【代码】1.9 线程亲和性, 线程安全,死锁。原创 2025-11-30 16:45:27 · 122 阅读 · 0 评论 -
1.8 自动重置事件和手动释放事件
【代码】1.8 自动重置事件和手动释放事件。原创 2025-11-29 18:49:16 · 144 阅读 · 0 评论 -
2.4 闭包
【代码】2.4 闭包。原创 2025-11-28 13:05:21 · 148 阅读 · 0 评论 -
1.7 信号量
【代码】1.7 信号量。原创 2025-11-27 14:15:16 · 168 阅读 · 0 评论 -
1.6 读写锁
【代码】1.6 读写锁。原创 2025-11-27 11:34:29 · 171 阅读 · 0 评论 -
2.3 C#装箱和拆箱
【代码】2.3 C#装箱和拆箱。原创 2025-11-21 14:18:57 · 267 阅读 · 0 评论 -
2.2 托管资源和非托管资源
【代码】2.2 托管资源和非托管资源。原创 2025-11-21 10:33:23 · 145 阅读 · 0 评论 -
1.5 Mutex
Mutex 的强大之处在于它是一个系统级别的同步原语, 这意味着它的实现依赖于"操作系统内核"(必须调用Disposable)a.内核对象创建一个Mutex时, Windows操作系统会在内核中为你创建一个"互斥体内核对象", 这个对象有两个核心状态:- signaled(有信号状态): 表示线程可以获取该锁- un-signaled(无信号状态): 表示锁被某个线程占用WaitOne()和ReleaseMutex()就是通过这个系统调用与这个内核对象交互b.线程等待队列。原创 2025-11-21 10:13:12 · 169 阅读 · 0 评论 -
1.4 Monitor 监控器
Monitor是.Net中提供线程同步的机制, 它使用对象锁来实现互斥访问, 并且提供了等待和通知的机制(Wait和Pulse/PulseAll)1).锁对象(Sync Block)a.在.Net中, 每个对象都有一个同步块索引(Sync Block Index), 该索引指向一个同步块(Sync Block);同步块中包含了用于同步的信息, 如持有锁的线程, 等待队列等b.当我们使用Monitor.Enter(obj)时, CLR会检查该对象的同步块索引, 如果没有同步块, 则会分配一个;原创 2025-11-20 14:00:39 · 261 阅读 · 0 评论 -
2.1 迭代器
【代码】2.1 迭代器。原创 2025-11-19 16:42:59 · 197 阅读 · 0 评论 -
1.3 线程同步
【代码】1.3 线程同步。原创 2025-11-19 15:28:49 · 183 阅读 · 0 评论
分享