• Ofertă educațională
    • Cursuri
    • Workshopuri
    • Training companii
  • Sesiuni gratuite
  • Mentori
  • Noutăți
Menu
  • Ofertă educațională
    • Cursuri
    • Workshopuri
    • Training companii
  • Sesiuni gratuite
  • Mentori
  • Noutăți
Facebook Linkedin Instagram Twitter
  • Contact
Meniu
  • Ofertă educațională
  • Sesiuni gratuite
  • Mentori
  • Noutăți
Menu
  • Ofertă educațională
  • Sesiuni gratuite
  • Mentori
  • Noutăți
  • Despre
  • Comunitatea Wantsome
  • Contact
  • Mentori
  • FAQ
Menu
  • Despre
  • Comunitatea Wantsome
  • Contact
  • Mentori
  • FAQ
  • B2B

Asynchronous and parallel programming concepts using C#

Real hands-on experience workshop about asynchronous and parallel programming concepts using C#
Cere o ofertă

Asynchronous and parallel programming concepts using C#

Completează formularul de mai jos și te vom contacta în cel mult 48 de ore.

Desfășurare

Programare

Durată

24h in total

Experiență tehnică

Avansat

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.

Agenda

Asynchronous and parallel programming concepts using C#

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]

Description

Threading and async programming / Intro & concepts • C# Threads, Thread pool, Thread synchronization techniques overview • C# Tasks Overview• Async/Await – In Depth o C# tasks continuations callback hell o Async/await principles o Async return types, Awaitables & awaiters o How is working? – IAsyncStateMachine interface o Tasks & async/await: exception handling, cancellations, continuations, parallel executions • Migrate sync code to async o Web APIs o Mediator handlers o NService Bus message handlers • TPL – In Depth • Concurrent Collections • Exercises

Key outcomes

In this workshop you will learn about: • Threads & tasks and how we could handle race conditions • Have a look on CPU bound and I/O bound operation • Check what .NET Core provides in order to work in a multi-threaded context o Tasks o Async, Await o Concurrent collections o TPL • In-depth concepts about async-await, TPL • Use concurrent collections • Practice what we've learned in an exercise at the end

Prerequisites & Requirements

• Laptop • .NET Core 3.1 Installed – https://dotnet.microsoft.com/download/dotnet-core/3.1 • Visual Studio Community – https://visualstudio.microsoft.com/downloads/ • Git

Extra info

Homework available for all participants and feedback provided by the trainer on the homework – Trainers: Andrei Scutariu, Mihai Nechifor, Vlad Holbură
Cere o ofertă

Asynchronous and parallel programming concepts using C#

Completează formularul de mai jos și te vom contacta în cel mult 48 de ore.

  • Politica (prietenoasă) privind prelucrarea datelor cu caracter personal
  • ANPC
Menu
  • Politica (prietenoasă) privind prelucrarea datelor cu caracter personal
  • ANPC

Produse

  • Cursuri
  • Workshopuri
  • Sesiuni gratuite
  • Training companii
Menu
  • Cursuri
  • Workshopuri
  • Sesiuni gratuite
  • Training companii

Wantsome

  • Despre
  • Comunitatea Wantsome
  • Contact
  • Mentori
  • FAQ
Menu
  • Despre
  • Comunitatea Wantsome
  • Contact
  • Mentori
  • FAQ

Cele mai noi pe blog

FAQ

Ce e bine să știi înainte să începi un program de mentorat de 4 luni sub forma unui curs online de UI/UX Design?

Georgiana Gherasim: În pandemie mi-am schimbat viața cu Wantsome. Am devenit Business Analyst.

© 2020 Wantsome. Toate drepturile rezervate.
Facebook-f Linkedin Instagram Twitter Youtube

Mulțumim!

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.

Share on facebook
Share on twitter
Share on linkedin