C#スレッドでのパラメータの受け渡し方法は?
C#では、ParameterizedThreadStartデリゲートを使用してスレッドにパラメータを渡すことができます。以下は一つの例です:
using System;
using System.Threading;
class Program
{
static void Main()
{
// 创建一个新的线程,并传递参数
Thread thread = new Thread(new ParameterizedThreadStart(WorkerThread));
thread.Start("Hello, World!");
Console.WriteLine("主线程结束。");
}
static void WorkerThread(object data)
{
// 从参数中获取数据
string message = (string)data;
// 执行线程的工作
Console.WriteLine("子线程开始执行,传递的参数为:" + message);
// 模拟一些工作
Thread.Sleep(2000);
Console.WriteLine("子线程结束。");
}
}
上記の例では、新しいスレッドを作成し、ParameterizedThreadStartデリゲートを使用してWorkerThreadメソッドをスレッドに関連付けました。WorkerThreadメソッドは、実行中にobject型のパラメーターを受け取り、そのデータを使用するために適切な型に変換します。
ParameterizedThreadStart委任に渡されるパラメータの型はobject型でなければならないため、適切な型変換が必要な場合があります。