#90 - 21.02.2024 18:00

#90: Implementing async with coroutines and fibers – project Loom in C#

Lecturer: Adam Furmanek

Async has multiple problems. It requires specific return type, can switch thread any time, causes deadlocks, uses global state. Can we do better? Can we do async/await without all its mess?

In this talk we will learn how async is implemented, see what problems it creates, and explore other possible approaches. We will reimplement some of its features with monads, coroutines, and fibers to see how it could look like in an alternative world. We’ll see if we can do better than the thread-pool based approach.

This is loosely related to project Loom in JVM world which explores fibers to improve threading.  

Level 300.

REGISTER
Adam Furmanek

A professional software engineer with 15 years of experience. In his career, he has worked with all layers of software engineering and various types of applications, including logistics, e-commerce, machine learning, data analysis, and database management. He has a consistent interest in delving deeper into technology, exploring machine code, and examining implementation details to gain a better understanding of the internals of the technologies he uses daily. Adam enjoys debugging, decompiling, and disassembling code to comprehend memory models, concurrency problems, and other intricacies hidden deeply inside. In his free time, he engages in ping-pong, watches Woody Allen's movies, and maintains a blog at http://blog.adamfurmanek.pl.


Don't forget to register!

REGISTER