标签: #多线程

C# 桌面应用自动更新实战:Mutex 单实例 + Version 比较 + 独立 Updater 进程交接

运行中的 exe 无法覆盖自己,是桌面应用自更新的经典难题。本文基于真实 WinForms 项目源码,完整拆解一套自更新方案:命名 Mutex 实现用户级单实例并唤醒已有窗口,Version 类型安全比较服务端版本,Timer 防重入实现周期检查,独立 Updater 进程完成文件锁检测、流式下载、Zip 解压覆盖与主程序重启,并总结实战踩坑点。

从零实现 C# Telnet 协议客户端:IAC 协商 + 子协商 + 终端类型握手完整实战

本文从真实项目代码出发,带你从零实现一个完整的 C# Telnet 协议客户端。我们会拆开 Telnet 协议的每一个字节——IAC 转义、DO/DONT/WILL/WONT 协商、SB/SE 子协商、终端类型(VT100)握手、窗口大小声明——然后用一个有限状态机把它们串起来,最后用 SemaphoreSlim 保证异步读写的线程安全。完整代码来自生产环境,已稳定跑了一年多。

Parallel.ForEachAsync并行处理解析

深入解析 .NET 6+ 新增的 Parallel.ForEachAsync 异步并行方法,讲解其与同步 ForEach 的区别、并发度控制(MaxDegreeOfParallelism)、取消令牌使用,以及在 IO 密集型场景中的最佳实践。

.net8中实现多线程的几种方式

系统梳理 .NET 8 中常见的多线程与异步编程手段:Thread、ThreadPool、Task、Parallel、ValueTask、IAsyncEnumerable,对比各自适用场景,并给出线程安全与资源释放的注意事项。