It is very common with threaded applications to need to share data between threads, often in the form of dictionaries, lists, stacks, etc. However, the standard containers (generic or otherwise) in .NET are not thread-safeā€”if you just, say, reference a …

Thread-safe generic collections, containers and dictionaries in .NET Read more »

In a previous post, I demonstrated a convenient way to make a wait cursor show up during “reasonably” long operations (up to a few seconds). For anything longer than that, though, a wait cursor won’t cut it — for one …

Handling long operations with cancel and progress in C# with async Read more »