.NET Internals Cookbook Part 10 — Threads, Tasks, asynchronous code and others

This is the tenth part of the .NET Internals Cookbook series. For your convenience you can find other parts in the table of contents in Part 0 – Table of contents 65. How can you await async void method or catch exceptions thrown in it? You need to create your own synchronization context and task … Continue reading .NET Internals Cookbook Part 10 — Threads, Tasks, asynchronous code and others

.NET Internals Cookbook Part 9 — Finalizers, queues, card tables and other GC stuff

This is the ninth part of the .NET Internals Cookbook series. For your convenience you can find other parts in the table of contents in Part 0 – Table of contents 59. What happens if an exception is thrown in finalizer? What about infinite loop? Let’s see this code: If you run it in dotnetfiddle … Continue reading .NET Internals Cookbook Part 9 — Finalizers, queues, card tables and other GC stuff

.NET Internals Cookbook Part 7 — Word tearing, locking and others

This is the seventh part of the .NET Internals Cookbook series. For your convenience you can find other parts in the table of contents in Part 0 – Table of contents 45. Should we always avoid boxing? Boxing is expensive, it wraps value types into reference instances so we lose some performance. However, take this … Continue reading .NET Internals Cookbook Part 7 — Word tearing, locking and others