asp.net
アプリケーションに通常のスレッドを作成します。スレッドが完了したら、どうすればいいですか?それを残す(スレッドプールに戻る)、または中断する。スレッドが完了したらどうすればよいですか?それを放置するか、中止するか?
Thread thread = new Thread(new ThreadStart(work));
asp.net
アプリケーションに通常のスレッドを作成します。スレッドが完了したら、どうすればいいですか?それを残す(スレッドプールに戻る)、または中断する。スレッドが完了したらどうすればよいですか?それを放置するか、中止するか?
Thread thread = new Thread(new ThreadStart(work));
お待ちください。無意味な例外を作成する意味はありません。
C#で
[STAThread]
public static void Main(string[] args)
{
foreach(var fileNamePath in DirectoryFiles)
{
ThreadPool.QueueUserWorkItem(ThreadPoolCallback, fileNamePath);
}
}
public void ThreadPoolCallback(object threadContext)
{
//do something
}
をスレッドプールを使用して.NETでのThreadPoolは、他のすべてを処理します。
IDisposable
インターフェイスが存在することを想起してください。具体的には、一部の共有リソースを解放する必要があるシナリオではです。 (もちろん、同様に他の文脈で適用されている;それはそれは元々のために意図された状況である)
は今(管理Thread
クラスががIDisposable
を実装していないとお察しのことを考えますGCによって正常に処理されている特定のクリーンアップを必要としないことを確認してください。
このようにスレッドを作成すると、スレッドプールは使用されません。 – Ani
だから私はそれらのコンテキストを終了しておく場合、このスレッドで何が起こる? – Xaqron
Aniが上記のコードを指摘しても、スレッドプールスレッドは得られません。 BackgroudWorker、または.NET 4の場合はTaskクラスを見てください。 –