C# Concurrency Teil 2: Die Gefahren von Multithreading