C# Tips


スレッドプールを使用するには


スレッドプールはスレッドのキューであり、複数のスレッドを効率よく動作させる仕組みです。
スレッドオブジェクトを再利用することで、スレッドを再作成するオーバーヘッドを減らし、パフォーマンスを向上させます。

サンプルコードのように、ThreadPoolクラスを使用します。
別スレッドで動作させるメソッドには、object型のstateという引数を取ることができます。

using System;
using System.Threading;

public class List2
{
	public List2()
	{
	}

	public static void Main()
	{
		ThreadPool.QueueUserWorkItem(new WaitCallback(ThreadMethod), "A");
		ThreadPool.QueueUserWorkItem(new WaitCallback(ThreadMethod), "B");

		Console.ReadLine();
	}

	private static void ThreadMethod(object state)
	{
		for(int i=0; i<100; i++)
		{
			Thread.Sleep(5);
			Console.Write(" {0} ", state);
		}
	}
}


目次に戻る
Copyright(c) 2008 WoodenSoldier Software