دوره آموزشی #C پیشرفته: داده های بدون موضوع با مجموعه های همزمان
1 ساعت 39 دقیقهپیشرفته2020-05-20
مدرسین

Walt Ritscher
Programmer, UI Designer, Staff Instructor at LinkedIn Learning
جزئیات دوره
کلاس "thread-safe" به گروهی گفته می شود که اعضای آن از شرایطی محافظت می شوند که یک رشته موضوع دیگری را قطع کند. انواع استاندارد .NET از نظر نخ ایمن نیستند ، که می تواند منجر به مشکلات زیادی شود ، از جمله شرایط مسابقه ، خرابی داده ها و استثناهای غیر منتظره در برنامه های مدرن چند رشته ای. در این دوره ، مربی Walt Ritscher نحوه کار با مجموعه های همزمان بدون موضوع برای به اشتراک گذاشتن داده ها در میان رشته ها و ساخت برنامه های مقیاس پذیرتر را نشان می دهد. والت با استفاده از مثالهای عملی ، مشكلاتی را كه می توانید هنگام كار در برنامه های چند رشته ای با آن روبرو شوید ، بیان می كند و توضیح می دهد كه چرا مجموعه های همزمان در اداره چندین موضوع عالی هستند. وی نحوه کار با کلاس ConcurrentDiction ، از جمله نحوه به روزرسانی داده ها در ConcurrentDictionary را بررسی می کند. بعلاوه ، در مورد الگوی تولید کننده و مصرف کننده و نحوه ارتباط آن با انواع مجموعه های همزمان ، نحوه استفاده از BlockingCollection - یک کلاس جمع آوری بدون موضوع - و موارد دیگر اطلاعات کسب کنید.
مهارت ها
C#Programming LanguagesMicrosoftSoftware DevelopmentDeep Dive (X:Y)
سرفصل ها
مقدمه
- داده های ایمن رشته ای با مجموعه های همزمان
- آنچه باید بدانید
- نحوه دسترسی به کد نمونه در GitHub
تعریف مشکل
- مجموعه ها و موضوعات
- از Queue با تک رشته استفاده کنید
- از Queue با چندین رشته استفاده کنید
- مشکل چند رشته ای Queue را اشکال زدایی کنید
کلاس صف دات نت را تخریب کنید
- نمونه را با کلاس سفارشی مجددا پیاده سازی کنید
- کد ExampleQueue را بررسی کنید
استفاده از کد Thread-Safe با مجموعه های استاندارد
- کد را برای پشتیبانی از قفل نخ بازنویسی کنید
- از یک دستور قفل و mutex برای ایمن کردن thread استفاده کنید
- چرا قفل کردن راه حل خوبی نیست
- مجموعه های همزمان چگونه بهتر هستند
بررسی اجمالی مجموعه های ایمن موضوعی
- مجموعه های استاندارد و همزمان را با هم مقایسه کنید
- دسته های مجموعه
با کلاس Concurrent Dictionary کار کنید
- یک فرهنگ لغت ایجاد کنید
- از TryAdd برای افزودن یک آیتم استفاده کنید
- از TryRemove برای حذف یک مورد استفاده کنید
- روش GetOrAdd برای دریافت یا افزودن یک آیتم
به روز رسانی داده ها در Concurrent Dictionary
- برنامه نمونه به روز شده را مرور کنید
- مشکلات احتمالی در به روز رسانی یک مورد
- از TryUpdate برای به روز رسانی مقدار فرهنگ لغت استفاده کنید
- از حلقه while با TryUpdate استفاده کنید
- از روش AddOrUpdate استفاده کنید
- چرا ICollection و دیگر اینترفیس ها امن نیستند
- API های خود را برای استفاده از ICollection بررسی کنید
با مجموعه های تولیدکننده-مصرف کننده کار کنید
- بررسی اجمالی مجموعه های تولیدکننده- مصرف کننده
- با ConcurrentQueue کار کنید
- با ConcurrentStack کار کنید
- با ConcurrentBag کار کنید
استفاده از BlockingCollection
- BlockingCollection را درک کنید
- از BlockingCollection با ConcurrentQueue استفاده کنید
- از روش CompleteAdding استفاده کنید
- از مجموعه های دیگر با BlockingCollection استفاده کنید
- مطالب با مصرف کنندگان متعدد
- با چندین تولید کننده آیتم ایجاد کنید
ادامه سفر شما
- مراحل بعدی
دوره های مرتبط
- دوره آموزشی مفاهیم پیشرفته برنامهنویسی در #C
- دوره آموزشی تمرین عملی سی شارپ با ساختارهای دادهای
- دوره آموزشی سی شارپ پیشرفته: الگوهای برنامهنویسی تابعی
- دوره آموزشی 10 نکته برای برنامه نویسان سی شارپ
- دوره آموزشی یادگیری جامع سی شارپ و دات نت
- دوره آموزشی تسلط بر ابزارهای هوش مصنوعی برای توسعه مؤثر سی شارپ
- دوره آموزشی سی شارپ پیشرفته: کلاسها، رکوردها و ساختارها
- دوره آموزشی توسعه سی شارپ و دات نت با VS Code