آموزش مجموعه های همزمان سی شارپ

C# Concurrent Collections

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: یاد بگیرید چگونه از مجموعه های همزمان در کدهای چند رشته ای استفاده کنید! این دوره مقدمه ای جامع برای مجموعه های همزمان است. این به شما نشان می دهد که چگونه از هر یک از انواع مجموعه اصلی استفاده کنید: ConcurrentDictionary، ConcurrentQueue، ConcurrentBag و ConcurrentStack. شما تکنیک های صحیح استفاده از این مجموعه ها را برای جلوگیری از اشکالاتی مانند شرایط مسابقه و همچنین نحوه استفاده صحیح از BlockingCollection با مجموعه های همزمان در سناریوهای تولیدکننده-مصرف کننده یاد خواهید گرفت. این دوره با نگاهی به برخی از بهترین شیوه های مجموعه همزمان پایان می یابد.

سرفصل ها و درس ها

معرفی مجموعه های همزمان Introducing the Concurrent Collections

  • خوش آمد گویی و بررسی اجمالی دوره Welcome and Course Overview

  • نمای کلی ماژول Module Overview

  • معرفی نمونه: شرکت پوشاک گیک Introducing the Sample: The Geek Clothing Company

  • ساخت صف چند رشته ای Making the Queue Multithreaded

  • رفع کد با ConcurrentQueue<T> Fixing the Code with ConcurrentQueue<T>

  • چرا Queue<T>.EnQueue() شکست خورد؟ Why Did Queue<T>.EnQueue() Fail?

  • روش های اتمی Atomic Methods

  • چرا قفل ها همیشه آنقدر عالی نیستند؟ Why Locks Aren't Always So Great

  • مجموعه های همزمان همیشه موضوعات را مسدود نمی کنند Concurrent Collections Don't Always Block Threads

  • مجموعه های همزمان و شرایط مسابقه Concurrent Collections and Race Conditions

  • چه مجموعه های همزمان وجود دارد؟ What Concurrent Collections Are There?

  • IProducerConsumerCollection<T> و BlockingCollection<T> IProducerConsumerCollection<T> and BlockingCollection<T>

  • Partitioner<T> و OrderablePartitioner<T> Partitioner<T> and OrderablePartitioner<T>

  • خلاصه ماژول Module Summary

معرفی همزمان دیکشنری Introducing ConcurrentDictionary

  • نمای کلی ماژول Module Overview

  • عملیات دیکشنری پایه Basic Dictionary Operations

  • تبدیل به دیکشنری همزمان Converting to ConcurrentDictionary

  • چرا ConcurrentDictionary.Add() پنهان است؟ Why Is ConcurrentDictionary.Add() Hidden?

  • برخی از روش های Thread-friendly Some Thread-friendly Methods

  • الگوی TryXXX و TryGetValue() The TryXXX Pattern and TryGetValue()

  • روش ()TryAdd The TryAdd() Method

  • روش ()TryRemove The TryRemove() Method

  • روش ()TryUpdate The TryUpdate() Method

  • مشکل TryUpdate() The Problem with TryUpdate()

  • متد AddOrUpdate() The AddOrUpdate() Method

  • مراقب شرایط مسابقه باشید! Beware Race Conditions!

  • انجام هر عملیات در یک روش! Do Each Operation in One Method Call!

  • متد GetOrAdd(). The GetOrAdd() Method

  • خلاصه ماژول Module Summary

نسخه ی نمایشی دیکشنری همزمان Concurrent Dictionary Demo

  • نمای کلی ماژول Module Overview

  • معرفی نمونه خرید و فروش Introducing the BuyAndSell Sample

  • الگوریتم خرید و فروش The Buy-sell Algorithm

  • استفاده از AddOrUpdate() برای به روز رسانی دیکشنری همزمان Using AddOrUpdate() to Update the Concurrent Dictionary

  • با استفاده از Interlocked.Add() برای به روز رسانی Total Using Interlocked.Add() to Update the Total

  • ایمن با نخ ... اما بدون قفل! Thread-safe ... But No Locks!

  • چرا نمی توانیم از TryUpdate() استفاده کنیم؟ Why Can't We Use TryUpdate()?

  • به روز رسانی مشروط دیکشنری همزمان Conditionally Updating the Concurrent Dictionary

  • منطق شرطی در AddOrUpdate(): با استفاده از لامبدا Conditional Logic in AddOrUpdate(): Using a Lambda

  • مشکل عوارض جانبی The Problem of Side-effects

  • AddOrUpdate(): اجتناب از منطق شرطی AddOrUpdate(): Avoiding Conditional Logic

  • جمع کردن مقادیر همزمان فرهنگ لغت با استفاده از Linq Summing ConcurrentDictionary Values Using Linq

  • استفاده از GetOrAdd() برای نمایش مقادیر Using GetOrAdd() to Display Values

  • آزمایش استرس بیایید نسخه ی نمایشی! Let's Stress-test the Demo!

  • خلاصه ماژول Module Summary

مجموعه های تولیدکننده-مصرف کننده: صف ها، پشته ها و کیسه ها The Producer-Consumer Collections: Queues, Stacks and Bags

  • نمای کلی ماژول Module Overview

  • یک تجدید کننده صف A Queue Refresher

  • معرفی ConcurrentQueue<T> Introducing ConcurrentQueue<T>

  • ConcurrentStack<T> ConcurrentStack<T>

  • ConcurrentBag<T>: چیست؟ ConcurrentBag<T>: What Is It?

  • سناریوی تولیدکننده-مصرف کننده چیست؟ What Is a Producer-consumer Scenario?

  • رابط IProducerConsumerCollection<T> The IProducerConsumerCollection<T> Interface

  • خلاصه ماژول Module Summary

نسخه ی نمایشی تولیدکننده-مصرف کننده و BlockingCollection Producer-consumer and BlockingCollection Demo

  • نمای کلی ماژول Module Overview

  • معرفی نمونه جوایز فروش Introducing the SalesBonuses Sample

  • ثبت معاملات در صف انجام کار Logging Trades to the To-do Queue

  • نوبت دهی به صف همزمان Enqueuing to the Concurrent Queue

  • حلقه مصرف کننده: نظارت بر صف همزمان The Consumer Loop: Monitoring the Concurrent Queue

  • جریان برنامه اصلی The Main Program Flow

  • محاسبه جوایز Calculating Bonuses

  • مشکل رای گیری The Problem of Polling

  • معرفی مجموعه Blocking Introducing the Blocking Collection

  • با استفاده از BlockingCollection<T>.Take() برای جلوگیری از نظرسنجی Using BlockingCollection<T>.Take() to Avoid Polling

  • BlockingCollection<T> و IProducerConsumerCollection<T> BlockingCollection<T> and IProducerConsumerCollection<T>

  • BlockingCollection<T> ویژگی های اضافی BlockingCollection<T> Additional Features

  • خلاصه ماژول Module Summary

برخی از مجموعه‌های همزمان بهترین روش‌ها Some Concurrent Collections Best Practices

  • نمای کلی ماژول Module Overview

  • مجموعه ها و عملکرد همزمان Concurrent Collections and Performance

  • بنچمارک کردن فرهنگ لغت همزمان با موضوعات متعدد Benchmarking ConcurrentDictionary with Multiple Threads

  • دسترسی به حالت مشترک Access Shared State Sparingly

  • Concurrent Dictionary از قفل ریز دانه استفاده می کند ConcurrentDictionary Uses Fine-grained Locking

  • Count، IsEmpty، و غیره. عملکرد بدی در ConcurrentDictionary داشته باشید Count, IsEmpty, Etc. Perform Badly on ConcurrentDictionary

  • از اتکا به وضعیت مجموعه های همزمان خودداری کنید Avoid Relying on the State of Concurrent Collections

  • شمارش هنگام اصلاح یک مجموعه استاندارد Enumerating While Modifying a Standard Collection

  • شمارش در حین اصلاح یک مجموعه همزمان Enumerating While Modifying a Concurrent Collection

  • چه زمانی به مجموعه های همزمان نیاز دارید؟ When Do You Need Concurrent Collections?

  • خلاصه ماژول Module Summary

  • با تشکر از مدل های … Thanks to the Models…

  • خلاصه دوره Course Summary

نمایش نظرات

آموزش مجموعه های همزمان سی شارپ
جزییات دوره
3h 32m
78
Pluralsight (پلورال سایت) Pluralsight (پلورال سایت)
(آخرین آپدیت)
589
4.6 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Simon Robinson Simon Robinson

نوازنده

سلام، من سیمون هستم. به نظر من توانایی ساخت موسیقی خود، فیلمبرداری عالی و گرفتن تصاویر عالی کاربردهای زیادی دارد. ایجاد یک شرکت کوچک؟ شما می توانید تبلیغات فیلم، صدای جرنگ جرنگ و فید اینستاگرام خود را بسازید! شما فقط می خواهید سرگرم شوید و چیزهایی را به خاطر بسپارید، درست است؟ بهترین سرگرمی نواختن یک ساز است و تصویر ایده آل هرگز از مد نمی افتد.