スレッド処理を使用すると、C# プログラムが同時処理を実行し、一度に複数の操作を行うことができるようになります。たとえば、スレッド処理を使用すると、ユーザー入力を監視したり、バックグラウンド タスクを実行したり、複数の入力ストリームを同時に処理したりできます。System.Threading 名前空間により、マルチスレッド プログラミングをサポートするクラスとインターフェイスが用意され、スレッドの新規作成および開始、複数スレッドの同期、スレッドの中断、スレッドの中止などのタスクを従来よりも簡単に実行できます。
System.Threading.Thread newThread;
newThread = new System.Threading.Thread(anObject.AMethod);
マルチスレッド処理によって、応答性やマルチタスクに関連する問題が解決されますが、同時に、リソースの共有や同期という問題が発生することもあります。メインのスレッド スケジュール機構に応じて、スレッドが警告なしに中断され、再開されるためです。詳細については、「スレッドの同期 (C# プログラミング ガイド)」を参照してください。概要については、「スレッドの使用とスレッド処理」を参照してください。

C# 言語仕様
詳細については、「C# 言語仕様」の次のセクションを参照してください。
-
3.10 実行順序
-
8.12 lock ステートメント
-
10.4.3 Volatile フィールド
-
10.7.1 フィールドのように使用するイベント