Multithreading and Parallel Programming in C#

所在平台: Udemy

课程主页: https://www.udemy.com/course/parallel-csharp/

课程评论:没有评论

第一个写评论        关注课程

课程简介

**课程名称:C# 中的多线程与并行编程** **课程概述:** 本课程旨在帮助您掌握 C# 语言中多线程与并行编程的核心概念和技术,从而开发出更快速、更具响应性的应用程序。 随着多核处理器的普及,软件如何有效利用这些核心能力变得至关重要。本课程将深入探讨异步编程的理论基础,包括进程、线程等概念,并介绍低级的线程 API、APM 和 EAP。 课程重点将放在 **任务并行库 (TPL)** 的实际应用上,涵盖任务的启动、取消、链式调用、等待、IO 密集型任务处理以及异常处理。您还将学习 C# 的 **Async 和 Await** 关键字,这是实现异步编程的关键。 此外,课程还将详细讲解多线程编程中至关重要的 **同步机制**,包括原子性、`Interlocked`、`Monitor` (lock)、`ReaderWriterLockSlim`、`Semaphore`、`SynchronizationContext` 和 `Mutex`。同时,也会覆盖 **信号量构造**,如 `AutoResetEvent`、`ManualResetEventSlim`、`CountdownEvent` 和 `Barrier`。 课程还将介绍 **自旋锁 (Spinning)** 技术,包括 `SpinWait`、`SpinLock`,以及 **可更新的并发集合**, 如 `ImmutableStack`、`ImmutableQueue`、`ImmutableList`、`Immutable Sets`、`ImmutableDictionary`、`ConcurrentStack`、`ConcurrentQueue`、`ConcurrentBag` 和 `BlockingCollection`。 最后,课程将深入 **并行编程** 的领域,重点讲解 `Parallel` 类和 PLINQ 的使用。 **先修要求:** 本课程适合**有一定编程经验**的学习者。对于初学者来说,理解课程内容可能会有一定难度。 **学习目标:** * 理解异步和并行编程的基本原理。 * 熟练运用 C# 的 TPL 实现高效的并行任务。 * 掌握 C# 的 `Async/Await` 语法糖。 * 了解并能正确使用各种同步机制来避免竞态条件。 * 学习使用信号量构造来协调线程间的通信。 * 掌握自旋锁和并发集合的用法。 * 能够使用 `Parallel` 类和 PLINQ 来实现并行计算。 **立即报名,成为 .NET 多线程与并行计算的专家!**

课程评论(0条)

课程详情

For the last two decades, computers became faster by increasing the number of CPU cores. However, the fact of having more cores itself doesn't make a computer drastically faster if those cores are not used by software properly. We, as software developers, should know how to write asynchronous and parallel executing code to make our applications faster and more responsive.This course is all about developing more responsive and fast programs. Multithreading and Parallel Computing are topics for those who already have some experience in programming, otherwise, you may face difficulties with understanding the content. Anyway, this course covers:Theoretical foundations of asynchronous programming: main concepts, processes, threads and so onLow-level Thread API, APM, and EAP Task Parallel Library (TPL) including starting tasks, canceling tasks, chaining tasks, waiting for tasks, IO-based tasks, exceptions handling and other Async and Await feature of C# Synchronization including atomicity, Interlocked, Monitor (lock), ReaderWriterLockSlim, Semaphore, SynchronizationContext, and MutexSignaling constructs such as AutoResetEvent and ManualResetEventSlim, CountdownEvent and BarrierSpinning including SpinWait, SpinLock and our own UpdateableSpinConcurrentCollections including ImmutableStack, ImmutableQueue, ImmutableList, Immutable Sets, ImmutableDictionary, ConcurrentStack, ConcurrentQueue, ConcurrentBag, BlockingCollectionParallel Programming including Parallel class and PLINQEnroll and start learning the foundations of multithreading and parallel computing in.NET.

课程标签

0人关注该课程

主题相关的课程