[この記事は17年前に書かれました]
マルチスレッドで処理を行うには、Threadクラス、ThreadStartデリゲートを使用します。
ThreadStartには、マルチスレッドで処理を行わせたいメソッドを指定します。 作成したスレッドにパラメータを渡したい場合は、ParameterizedThreadStartデリゲートを使用します。
using System.Threading; class Param { public int a; public int b; } class Program { static void Main(string[] args) { // Method1を別スレッドで実行 Thread thread1 = new Thread(new ThreadStart(Method1)); thread1.Start(); Param p = new Param(); p.a = 1; p.b = 2; // Method2を別スレッドで実行(パラメータ渡し) Thread thread2 = new Thread(new ParameterizedThreadStart(Method2)); thread2.Start(p); } public static void Method1() { Console.WriteLine("test"); } public static void Method2(object o) { Param p = (Param)o; Console.WriteLine("Param:" + p.a + "," + p.b); } }
出力:test Param:1,2
(※).NET Framework version 2.0新機能
コメント