[Pluralsight / Simon Robinson] C# Concurrent Collections [2015, ENG]

Ответить на тему

АкмальС ®

Стаж: 1 год 6 месяцев

Сообщений: 50

Симпатии: 30

C# Concurrent Collections
Год выпуска: 2015
Производитель: Pluralsight
Сайт производителя: pluralsight.com
Автор: Simon Robinson
Продолжительность: 3:32
Тип раздаваемого материала: Видеоклипы
Язык: Английский
Описание: Learn how to use concurrent collections in multithreaded code! This course is a comprehensive introduction to the concurrent collections. It shows you how to use each of the main collection types: ConcurrentDictionary, ConcurrentQueue, ConcurrentBag, and ConcurrentStack. You'll learn the correct techniques for using these collections to avoid bugs such as race conditions, and also how to use BlockingCollection with the concurrent collections correctly in producer-consumer scenarios. The course rounds off with a look at some concurrent collection best practices.
Использование сбора данных в многопотоковом коде.


Introducing the Concurrent Collections
Welcome and Course Overview
Module Overview
Introducing the Sample: The Geek Clothing Company
Making the Queue Multithreaded
Fixing the Code with ConcurrentQueue<T>
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> and BlockingCollection<T>
Partitioner<T> and OrderablePartitioner<T>
Module Summary
Introducing ConcurrentDictionary
Module Overview
Basic Dictionary Operations
Converting to ConcurrentDictionary
Why Is ConcurrentDictionary.Add() Hidden?
Some Thread-friendly Methods
The TryXXX Pattern and TryGetValue()
The TryAdd() Method
The TryRemove() Method
The TryUpdate() Method
The Problem with TryUpdate()
The AddOrUpdate() Method
Beware Race Conditions!
Do Each Operation in One Method Call!
The GetOrAdd() Method
Module Summary
Concurrent Dictionary Demo
Module Overview
Introducing the BuyAndSell Sample
The Buy-sell Algorithm
Using AddOrUpdate() to Update the Concurrent Dictionary
Using Interlocked.Add() to Update the Total
Thread-safe ... But No Locks!
Why Can't We Use TryUpdate()?
Conditionally Updating the Concurrent Dictionary
Conditional Logic in AddOrUpdate(): Using a Lambda
The Problem of Side-effects
AddOrUpdate(): Avoiding Conditional Logic
Summing ConcurrentDictionary Values Using Linq
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
Introducing ConcurrentQueue<T>
ConcurrentBag<T>: What Is It?
What Is a Producer-consumer Scenario?
The IProducerConsumerCollection<T> Interface
Module Summary
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
Introducing the Blocking Collection
Using BlockingCollection<T>.Take() to Avoid Polling
BlockingCollection<T> and IProducerConsumerCollection<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
ConcurrentDictionary Uses Fine-grained Locking
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
Файлы примеров: присутствуют
Формат видео: MP4
Видео: AVC, 1024x768, 4:3, 15fps, 366kbps
Аудио: AAC, 44.1kHz, 192kbps, stereo


Создавать темы 23-Сен-2016 17:21

[Профиль]  [ЛС] 
Показать сообщения:    
Ответить на тему

Текущее время: 19-Мар 04:12

Часовой пояс: UTC + 5

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы