CodeGym
AI Academy
促销
CodeGym University
学习
课程
任务
调查 & 测验
游戏
帮助
日程
社区
Users
论坛
聊天
文章
成功故事
动态
评价
订阅
浅色主题

课时

  • 评论
  • 关于我们
开始
开始学习
立即开始学习
  • 我的进度
  • 课程
  • 任务地图
  • 课程
  • 介绍 Concurrent 集合

    C# SELF
    等级 58,课时 0
    在本讲里我们会讲清楚为什么像 List<T> 和 Dictionary<TKey, TValue> 这样的普通集合在多线程下会出问题(race conditions),为什么简单的 lock 往往不够,和 System.Collections.Concurrent 里的线程安全集合如何解决这些问题。我们会看几个主要的结构: ConcurrentQueue<T>, ConcurrentStack<T>, ConcurrentBag<T>, ConcurrentDictionary<TKey, TValue>,它们的使用场景(producer–consumer、缓存、对象池)以及如何选择。
    可用
  • 队列和栈 Producer-Consumer

    C# SELF
    等级 58,课时 1
    我们用 .NET 的线程安全集合讲解 生产者-消费者 模式: ConcurrentQueue<T> (FIFO) 和 ConcurrentStack<T> (LIFO)。你会看到如何使用 Enqueue()/ TryDequeue() 和 Push()/ TryPop(),为什么需要操作的原子性,怎样构建多线程流水线和组织对象池。最后还有应用场景对比,帮你选对数据结构。
    可用
  • ConcurrentBag 和 ConcurrentDictionary

    C# SELF
    等级 58,课时 2
    我们来讲解两个关键的 .NET 线程安全集合: ConcurrentBag — 一个高速的“袋子”,不保证顺序,针对线程本地访问做了优化;以及 ConcurrentDictionary — 一个高性能的字典,提供原子操作 ( TryAdd, TryUpdate, GetOrAdd, AddOrUpdate)。我们会讨论它们的内部原理、典型场景和实用示例。
    可用
  • 进阶模式和 Concurrent 集合的特性

    C# SELF
    等级 58,课时 3
    我们拆解基于 Concurrent 集合的多线程模式:用 ConcurrentQueue 和 BlockingCollection<T> 实现“生产者—消费者”,通过 CancellationTokenSource 做正确的结束信号,以及关于 Count/ IsEmpty 属性、 ToArray() 方法和迭代的一些重要细节,帮助你写出可靠且可预测的代码。
    可用
  • 线程安全模式

    C# SELF
    等级 58,课时 4
    我们来拆解下 lock-free 和 wait-free 算法是怎么工作的,为什么来自命名空间 System.Collections.Concurrent 的集合在高并发下比普通加 lock 的集合更能扩展,以及 .NET 核心如何通过 System.Threading.Interlocked 和 CAS( CompareExchange)依赖原子操作。我们会看性能、 contention 的影响,简单看看 ConcurrentQueue<T> 的内部,选择合适的集合用于任务,并讨论一些实用优化建议( ToArray(), Count,操作分组)。
    可用
Learn
  • 注册
  • Java 课程
  • 任务帮助
  • 定价
  • Java 语法
社区
  • 用户
  • 文章
  • 论坛
  • 聊天
  • 成功故事
  • 动态
  • 联盟计划
Company
  • 关于我们
  • 联系方式
  • 评价
  • 媒体中心
  • CodeGym for EDU
  • 常见问题
  • 支持
CodeGymCodeGym 是一个从零开始学习 Java 编程的在线课程。该课程是初学者掌握 Java 的完美方式。它包含 1200+ 个带即时验证的任务,以及必要的 Java 基础理论。为了帮助你在学习中取得成功,我们实现了一系列激励功能:测验、编码项目、关于高效学习的内容,以及 Java 开发者职业相关内容。
关注我们
界面语言
English Deutsch Español हिन्दी Français Português Polski বাংলা
简体中文
मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
“程序员是培养出来的,不是天生的” © 2026 CodeGym
MastercardVisa
“程序员是培养出来的,不是天生的” © 2026 CodeGym