Asynchronous and parallel programming concepts using C#
Completează formularul de mai jos și te vom contacta în cel mult 48 de ore.
Completează formularul de mai jos și te vom contacta în cel mult 48 de ore.
Desfășurare
Durată
Experiență tehnică
Tell us when, where and how many would like to attend. Also, tell us if you want to make some changes or you are interested in something extra.
Threading and async programming / Intro & concepts [Overview]
• Synchronous vs Asynchronous
• Parallel vs Concurrent
• Threads vs Processes
• Multithreading vs. Multitasking
• Context switching
• Multithreading use-cases
C# Threads
• When to use threads?
• C# start new threads
• Thread priorities
• Thread exceptions
• C# stop threads
Thread pool
• C# Thread Pool Queue
• Limitations
Thread synchronization techniques
• Synchronization
o Simple blocking methods
o Exclusive locking constructs are most common
o Signalling constructs
o Nonblocking synchronization constructs
• Simple blocking methods, Thread state
• Locking constructs: Monitor Class, Mutex Class, Semaphore
o Thread Safety
o Application Servers
o Rich Client Applications and Thread Affinity
• Signaling constructs: AutoResetEvent, ManualResetEvent, CountdownEvent
o Cross process signalling constructs
• Non-bloking techniques: Memory barriers, Volatile, Interlocked
• Data Partitioning
Exercises & Demos
C# Tasks
• Why to use tasks?
• Create & Run a C# tasks
• Generic Task<T>
o Task return types
• Waiting on Tasks
• Task exception handling
o Working with AggregateException
• Task cancellations
• Task continuations
o Continuations and Task<TResult<TResult>>
o Continuations and exceptions
o Scheduling Different Continuation Tasks
o Attaching Child Tasks To A Parent Task
• Task scheduler
• C# Task Factory
• Tasks vs threads
C# Tasks [Exercises]
Async/Await [Intro]
• C# tasks continuations callback hell
• Async/await keywords
• Task continuations and async/await
• Async/await principles
• Async return types
• Awaitables & awaiters
• How is working? – IAsyncStateMachine interface
• Tasks & async/await: exception handling, cancellations, continuations, parallel
executions
Async/Await [Exercices]
Migrate sync code to async
• Web APIs
• Mediator handlers
• NService Bus message handlers
• Discussions
TPL & PLINQ
• Data Parallelism
o Parallel.For
o Parallel.ForEach
o Parallel.For & Parallel.ForEach with local variables
• TPL
o Wait all / Wait any
• Data Flow Overview
• PLINQ Overview
TPL [Exercises]
Concurrent Collections
• IProducerConsumerCollection<T>
• ConcurrentQueue<T>
• ConcurrentStack<T>
• ConcurrentBag<T>
• BlockingCollection<T>
• ConcurrentDictionary<TKey,TValue>
Concurrent Collections [Exercises]
Completează formularul de mai jos și te vom contacta în cel mult 48 de ore.
Academia prietenoasă de IT.
Creștem cea mai mare
comunitate de IT din România.
Te vom contacta în cel mult 48 de ore pentru a pune la punct pașii următori. Până atunci, spune și prietenilor despre Wantsome.
Ai nevoie de răspunsuri pe care doar un specialist HR ți le poate oferi? Programează acum o ședință gratuită de consiliere!