[この記事は19年前に書かれました]
マルチスレッドで処理を行うには、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新機能


コメント