C#
文章平均质量分 92
记录 C# 学习和经验内容,大多与 Unity 游戏开发相关。
魔术师Dix
API Caller
展开
-
【C#】并行编程实战:并行编程中的模式
本章将介绍并行编程模式,重点是理解并行代码问题场景并使用并行编程/异步技术解决他们。本章会介绍几种最重要的编程模式。原创 2023-07-27 10:24:00 · 1014 阅读 · 0 评论 -
【C#】并行编程实战:异步流
本章主要介绍异步流:一种将异步多线程和主线程结合使用的方法;原创 2023-07-26 10:44:28 · 522 阅读 · 0 评论 -
【C#】并行编程实战:编写并行和异步代码的单元测试用例
本章将介绍如何编写并行和异步代码的单元测试用例。编写单元测试是大型项目的重要组成部分,是代码健壮可靠、易于维护的必然要求。不过本章书上的代码与 Unity 基本没什么关系,也不适用。但是单元测试在 Unity 中依然是必要的,这里我们基于 Unity 来讨论单元测试。原创 2023-07-25 10:29:39 · 272 阅读 · 0 评论 -
【C#】并行编程实战:使用 Visual Studio 调试任务
本章将介绍可以在 Visual Studio 中的调试工具(包括 Thread 窗口、Tasks 窗口和 Concurrency Visulizer)调试线程。原创 2023-07-24 12:06:54 · 1412 阅读 · 0 评论 -
【C#】并行编程实战:基于任务的异步编程基础(下)
本文主要介绍一下TPL,主要内容为主要内容为异步代码的异常处理和使用异步代码的一些注意事项。原创 2023-07-21 10:06:22 · 124 阅读 · 0 评论 -
【C#】并行编程实战:基于任务的异步编程基础(上)
主要内容为async 和 await 关键字 和手动实现 TAP。原创 2023-07-20 19:59:50 · 136 阅读 · 0 评论 -
【C#】并行编程实战:异步编程详解
本章将从介绍同步代码和异步代码之间的区别开始,然后讨论何时适合使用异步代码,以及何时应避免异步代码。最后我们将讨论并行编程中的新功能以解决异步代码复杂性的帮助。本章相当于阶段性总结,新东西并不多。原创 2023-07-20 14:12:01 · 305 阅读 · 0 评论 -
【C#】并行编程实战:使用延迟初始化提高性能
在前面的章节中讨论了 C# 中线程安全并发集合,有助于提高代码性能、降低同步开销。本章将讨论更多有助于提高性能的概念,包括使用自定义实现的内置构造。本章主要内容为通过延迟初始化提高性能,相对比较简单。原创 2023-07-18 10:08:09 · 699 阅读 · 0 评论 -
【C#】并行编程实战:使用并发集合
但一般来说,共享资源是一个可以由多个线程读写的集合,即便多线程也应该能够同时写入。因此,使用同步原语对于这种数据集合来说,就不是很合适,这种时候推荐使用线程安全集合。原创 2023-07-17 10:43:57 · 1246 阅读 · 0 评论 -
【C#】并行编程实战:同步原语(4)
本章主要介绍轻量级同步原语、屏障和倒数事件、SpinWait和自旋锁。原创 2023-07-14 10:01:29 · 483 阅读 · 0 评论 -
【C#】并行编程实战:同步原语(3)
本章主要介绍信号原语。原创 2023-07-13 10:22:12 · 276 阅读 · 0 评论 -
【C#】并行编程实战:同步原语(2)
当多线程数据共享时,需要用到同步原语。本章为第2篇。主要介绍锁、互斥锁和信号灯。原创 2023-07-12 15:16:17 · 487 阅读 · 0 评论 -
【C#】并行编程实战:同步原语(1)
线程局部存储和分区局部存储,某种程度上可以解决同步问题。但是,当数据共享时,就需要用到同步原语。本章主要介绍互锁操作、.NET中的内存屏障、锁原语。原创 2023-07-11 09:55:14 · 591 阅读 · 0 评论 -
【C#】并行编程实战:使用 PLINQ(3)
本文的主要内容为 PLINQ 中的组合并行和顺序 LINQ 查询、取消 PLINQ 查询、使用 PLINQ 进行并行编程时要考虑的事项和影响 PLINQ 性能的因素。原创 2023-07-10 10:27:28 · 425 阅读 · 0 评论 -
【C#】并行编程实战:使用 PLINQ(2)
本文继续介绍 PLINQ 语句,主要内容为 PLINQ 中的合并选项以及抛出和处理异常。原创 2023-07-07 09:58:23 · 763 阅读 · 0 评论 -
【C#】并行编程实战:使用 PLINQ(1)
LINQ 是语言集成查询(Language Integrate Query , LINQ)的并行实现(P 表示并行)。本章将介绍其编程的各个方面以及与之相关的一些优缺点。本文为第一部分。原创 2023-07-05 11:24:10 · 561 阅读 · 0 评论 -
【C#】并行编程实战:实现数据并行(4)
本章继续学习实现数据并行,本文主要介绍并行循环中的线程存储。这也是本章节的最后一篇。原创 2023-07-03 15:45:18 · 1873 阅读 · 0 评论 -
【C#】并行编程实战:实现数据并行(3)
本章继续学习实现数据并行,本文主要介绍取消循环。原创 2023-07-03 15:45:41 · 550 阅读 · 0 评论 -
【C#】并行编程实战:实现数据并行(2)
本章继续学习实现数据并行,本文主要介绍任务并行度和自定义分区策略相关内容。原创 2023-06-30 10:49:08 · 547 阅读 · 0 评论 -
【C#】并行编程实战:实现数据并行(1)
到目前为止,我们已经掌握了并行编程、任务和任务并行的基础知识。本章将讨论并行编程的另一个重要方面,即数据并行。原创 2023-06-27 20:41:31 · 976 阅读 · 0 评论 -
【C#】并行编程实战:任务并行性(下)
本章继续介绍任务并行性,因篇幅所限,本章为下篇。因为并行编程上手难度较大,因此代码帖得比较多,属于保姆级教程。原创 2023-06-25 12:38:32 · 772 阅读 · 0 评论 -
【C#】并行编程实战:任务并行性(中)
本章继续介绍任务并行性,因篇幅所限,本章为中篇。原创 2023-06-15 23:52:56 · 2621 阅读 · 0 评论 -
【C#】并行编程实战:任务并行性(上)
在 .NET 的初始版本中,我们只能依赖线程(线程可以直接创建或者使用 ThreadPool 类创建)。ThreadPool 类提供了一个托管抽象层,但是开发人员仍然需要依靠 Thread 类来进行更好的控制。而 Thread 类维护困难,且不可托管,给内存和 CPU 带来沉重负担。因此,我们需要一种方案,既能充分利用 Thread 类的优点,又规避它的困难。这就是任务 (Task)。原创 2023-06-14 20:27:23 · 4889 阅读 · 0 评论 -
【C#】并行编程实战:序章
《并行编程实战:基于C#8和.NET Core 3》,我当时买的实体书,长下面这个样子。我买了大概浏览了一下,感觉内容还行(基本都是没见过的新东西),所以打算认真学一下。这一篇作为开头,介绍一下整个学习课程的内容。原创 2023-06-12 20:18:33 · 1674 阅读 · 1 评论 -
【C#】枚举位运算(省流版)
C# 枚举的位运算是比较简单的,但是久了没有写容易忘记。然后网上百度到的靠前的资料又废话比较多,所以干脆自己记录一下。这里就把各种介绍全部省略了,只做个API介绍。原创 2023-05-31 12:51:07 · 779 阅读 · 0 评论 -
【学习积累】Queue 与 ConcurrentQueue性能测试
在 C# 中,关于队列(Queue)有两种,一种就是我们普通使用的队列,另一种是线程安全的队列ConcurrentQueue 。本文将对这两个队列进行一个简单的性能测试,同时讨论一种特殊情况:一个线程入队,一个线程出队时使用 Queue 的情况。原创 2023-04-14 22:08:54 · 1927 阅读 · 2 评论