2009-08-26 13 views

答えて

5

終了したスレッドを再起動することはできません。ただし、CreateThreadを使用して、実行する同じ関数を持つ新しいスレッドを確実に開始することができます。

+0

ありがとうたくさんlowis –

+1

彼の答えをマーク! – Geo

0

確かに、スレッド内のループのように聞こえ、再起動しません。

4

Martinは、スレッドが終了した後にスレッドを再起動できないと言うことは間違いありません。しかし、何らかのタスクを何度も実行する必要があることを知っているインスタンスでは、「スレッドプーリング」を探索する必要があることを指摘したいと思います。

本質的に、スレッドプールは、アライブであり、作業を待っている多数のスレッドで構成されています。タスクを実行する必要がある場合は、そのようなスレッドに作業タスクを割り当てるだけで、スレッドがスレッドを完了すると、待ち状態状態に戻ります。このテクニックでは、スレッドを作成するとパフォーマンスが低下するため、パフォーマンスが大幅に向上します。

Windowsネイティブスレッドプールの詳細については、hereを起動できますが、アプリケーションにWindowsスレッドプールAPIで利用できない機能が必要な場合は、独自のスレッドプールを実装することもできます。

スレッドプールもサポートされており、.NETフレームワークでも非常に推奨されています。

関連する問題