Sari la conținut

NOU – ExperienceShip – Modul de practică pe proiecte reale de 12 săptămâni

Consiliere gratuită
  • Acasă
  • Cursuri

    Upgrade de skilluri

    Fă următorul pas în carieră!

    Reconversie profesională

    Descoperă noi oportunități de carieră. 

    Cursuri companii

    Pentru dezvoltarea echipelor din companii.

    Cursuri Elevi

    Dezvoltarea abilităților digitale și pregătirea pentru viitor.

  • ExperienceShip
  • Mentori
  • Evenimente

    Evenimente gratuite

    Descoperă cele mai noi tendințe din tehnologie.

    Workshopuri

    Dezvolta abilitățile IT într-un mediu practic și colaborativ.

  • Povești de succes
  • Despre noi

    Proces de selecție

    Identificarea celor mai potriviți candidați.

    Wantsome și comunitate

    Pentru a-ți transforma pasiunea în carieră.

    Acreditare

    Suntem certificați pentru a oferi cursuri IT de calitate, recunoscute pe piața muncii.

  • Noutati

    Articole/Blog

    Cele mai noi tendințe și sfaturi din lumea IT.

    Podcast

    Un podcast despre oameni, IT și oameni în IT.
  • Contact
  • 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.

Academia prietenoasă de IT.
Creștem cea mai mare
comunitate de IT din România.

Cursuri
  • Upgrade de skilluri
  • Reconversie profesională
  • Cursuri pentru companii
  • Cursuri pentru elevi
Despre noi
  • Proces de selectie
  • Mentori
  • Wantsome si comunitate
  • Acreditare
  • Contact
Noutăți
  • Articole/Blog
  • Podcast
Altele
  • Evenimente
  • Plata în rate
  • Povești de succes
  • Consiliere gratuită
  • FAQs
  • Unde lucrează absolvenții
Twitter Instagram Youtube Tiktok
  • Acasă
  • Cursuri
    • Upgrade de skilluri
    • Reconversie profesională
    • Cursuri companii
    • Cursuri Elevi
  • ExperienceShip
  • Mentori
  • Evenimente
    • Workshopuri
    • Evenimente
  • Povești de succes
  • Despre noi
    • Proces de selecție
    • Wantsome și comunitate
    • Acreditare
  • Noutăți
    • Articole/Blog
    • Podcast
  • Contact
  • Acasă
  • Cursuri
    • Upgrade de skilluri
    • Reconversie profesională
    • Cursuri companii
    • Cursuri Elevi
  • ExperienceShip
  • Mentori
  • Evenimente
    • Workshopuri
    • Evenimente
  • Povești de succes
  • Despre noi
    • Proces de selecție
    • Wantsome și comunitate
    • Acreditare
  • Noutăți
    • Articole/Blog
    • Podcast
  • Contact
Consiliere gratuită

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.

exit intent image
office working image

Mai stai un pic​

Ai nevoie de răspunsuri pe care doar un specialist HR ți le poate oferi? Programează acum o ședință gratuită de consiliere!

Programează o consultație gratuită