While .NET environment was receiving another tools connected with concurrency and async programming, reception and feelings were mixed. On one hand the received opportunities were amazing. On the the other, it created the necessity to learn and use totally different elements of the language as well as mechanisms included in .NET itself...
While training engineers during internal and opened trainings, discussing during conferences and browsing the last Dotnetos survey records - in which almost 500 persons from all over the world took part - we’ve noticed that async programming and concurrency are very important for you. This is a topic which engineers related to .NET want to learn. We ourselves share that opinion. Today programming in .NET is almost impossible without understanding of concurrency and async-await technique.
To help you gain that knowledge and understand the basics and rules of async world and concurrency we prepared that Async Expert online course. Async Expert is 10 solid weeks of learning through which we will guide you from the async basics to sync and concurrency collections. To allow you to verify possessed knowledge we prepared suitable homeworks. Extra content from our mentors (Marc Gravel, Daniel Marbach, Steve Cleary) that will help you answer all your extra questions are an additional bonus. Everything will be completed with communication with us via Community - a place where you can talk not only with us, but also with other participants of the course.
Damn I'm really enjoying the AsyncExpert course by @dotnetosorg, it's been such a ride and I've learned sooo much stuff!
— ACAB - Evil Pilaf (@evilpilaf) August 12, 2020
Finished the marathonian @dotnetosorg #AsyncExpert course. Thank you so much @konradkokosa @Scooletz @lukaszpyrzyk!!!! I now have a very good low-level explanation on how the async and concurrent magic work under the hood.
— Edin Kapić (@ekapic) August 28, 2020
Thanks @dotnetosorg for deep dive into asynchronous programming! Ten weeks of great explanations, tips n tricks and motivation to learn more. It was definitely worth it! Looking forward for memory management course 😉 #asyncexpert
— Konstantin Suslov (@suslov_k) August 27, 2020
Whew #AsyncExpert course from @dotnetosorg is intense and full of useful content. Feel like I actually understand tasks in dotnet the good, the bad and the ugly!
— Romanx (@ItemLevel1) July 28, 2020
You and all team should be proud! The course content is unbelievable amazing !!! Thks for all shared knowledge!
— Thiago Borba (@thiagoborbame) August 13, 2020
It's been excellent and in depth
— Romanx (@ItemLevel1) August 12, 2020
It was a little bit less than 500 euro per person when I purchased a few weeks ago.
— Pablo Santos (@psluaces) July 20, 2020
But, as I said, it is worth every euro.
We had trainings on .net before, but there's nothing like this one. This is really PRO.
If you write .NET code, then the https://t.co/I9SJ9TGSlI training is worth every euro. I can't recommend it strong enough. I'm still in the first parts but what I learned already paid off, and I've been in .NET for 20 years...@konradkokosa and the rest of the team are AMAZING
— Pablo Santos (@psluaces) July 20, 2020
Finished the async expert course from @dotnetosorg. I know more than I did, I have more to learn, but I know where to look, when I need to look. It’s going to take time to embed but glad I took the course. pic.twitter.com/d1oK12e0Jj
— #BlackLivesMatter (@newmancodes) August 21, 2020
ThreadPool
use with different APIThreadPool.BindHandle
usageTask
APIValueTask
async
SynchronizationContext
TaskCompletionSource
StringBuilder
i ThreadLocal
AsyncLocal
Parallel.For
with async vs Task.WhenAll
TaskCompletionSource
and Task.WhenAny
IAsyncDiposable
IAsyncEnumerable
IAsyncEnumerable
volatile
ConcurrentQueue
Interlocked
Interlocked.Exchange
Interlocked.CompareExchange
lock
Monitor.TryEnter
Semaphore
and SemaphoreSlim
Task
and SemaphoreSlim
ReaderWriterLock
ReaderWriterLock
CountdownEvent
Barrier
AsyncLock
implementationBlockingCollection
BlockingCollection
z CancellationToken
ConcurrentStack
ConcurrentStack
ConcurrentQueue
ConcurrentQueue
ConcurrentDictionary
ConcurrentDictionary.GetOrAdd
ConcurrentBag
Pipelines
Channels
Channel
in the ASP.NET Core MsQuickListenerIValueTaskSource
with Interlocked.CompareExchange
IValueTaskSource
based on an array with token discriminatorValueTask
and pooling in .NET 5ManualResetValueTaskSourceCore
🌶 Access to 10-weeks Async Expert on-line course - Access to full Async Expert course material
🌶 Material from Mentors - Additional material from international Mentors of that program, who are async programming experts.
🌶 Access to the course platform - The access to the platform as well as to our dedicated discussion page, which allows you to contact the instructor and other course participants.
🌶 Access to the repository - Besides the access to the recordings, ability to contact others and get additional materials from Mentors of the programme you receive the access to repository that includes code examples.
Microsoft MVP, Code geek working at Stack Overflow
Marc has worked extensively with async in .NET from its inception, and async is a key component and consideration in all current library work. He maintains the popular 'Dapper', 'StackExchange.Redis' and 'protobuf-net' libraries, and contributes to many others - and is a long standing Microsoft MVP for these contributions. Moreover, he has been helping to build Stack Overflow for 10 years, specializing in performance, data access and communications in .NET!
Microsoft MVP, Solutions Architect at Particular Software
He can bend minds and spoons with asynchronous programming. He has spoken at several conferences and usergroups about asynchronous programming and quality-driven development. He enjoys weightlifting, dark-roasted coffee, playing with his son and writing more code - at least until midnight when his self-imposed router hack kicks in.
Microsoft MVP, "Concurrency in C# Cookbook” author
Top answerer for async/await questions on Stack Overflow. In his free time he's a husband, father… and he programs. Today he uses C#/JavaScript, but remains interested in many different languages.
🌶 Which programming language will be used in examples?
All the examples as well as all our work will be done in C#.
🌶 Which version of .NET will be used in samples?
We will work on LTS version of .NET Core 3.1 showing differences with .NET Framework when needed.
🌶 When does the course begin and for how long does it last?
The course is available after purchase. All material is available, however we recommend watching one module per every week to not overwhelm you and to allow all the group to get through it at the same time.
🌶 What is the format of that course?
It is a video course. Recordings are uploaded to the platform. After signing in with your login and password, you have an access to your account. Besides the recordings, you'll gain access to our Community platform where you can communicate with the instructor and other participants. Links, password and login will be passed one week before the course begins.
🌶 How long will I have the access to the course?
You will receive life-long access to that edition of the course, including its updates.
🌶 What if I would not be satisfied with the course?
If you watch less than 30% of the course and decide that the course is not for you, you will receive a refund. You have 30 days to decide. Just write to contact[at]dotnetos.org, and we will return you 100% value.
🌶 Will I receive all the course material at once?
Yes. All material is available immediately. We recommend watching one module per week to not overwhelm you and to keep the group pace at the same tempo.
🌶 Will I receive an invoice?
Yes, you will receive a VAT invoice with your purchase. It will be sent to you within few days to the e-mail address provided during the order.
🌶 How can I pay for that course?
Payment is done with the use of our on-line shop. Each type of payment supported by it is ok for us.
🌶 Can I pay later, on installments, etc.?
Unfortunately it’s not possible to pay on installments but you can choose a “pro forma” invoice that will allow you to pay later by bank transfer.
🌶 How many people can access one course account?
The access is given to one person, using an address provided during the purchase. If you are interested in buying more accesses please contact us using contact[at]dotnetos.org e-mail address.
🌶 What if I have a problem with something or something is unclear?
Write to us with that e-mail address: contact[at]dotnetos.org.