このサイトでスレッドを探しています。「CountdownEvent はすべてのスレッドを停止しますか?」という質問に答えるコードをいじっています。私が得た答えはノーでした。次に、CountdownEvent に渡される数値で遊ぶことにしました。これが私のコードです
namespace ThreadPractice
{
class Program
{
static CountdownEvent CountDown = new CountdownEvent(4);
static void Main()
{
new Thread(() => SaySomething("I am Thread one.")).Start();
new Thread(() => SaySomething("I am thread two.")).Start();
new Thread(() => SaySomethingElse("Hello From a different Thread")).Start();
new Thread(() => SaySomething("I am Thread Three.")).Start();
CountDown.Wait();
Console.Read();
}
static void SaySomething(string Something)
{
Thread.Sleep(1000);
Console.WriteLine(Something);
CountDown.Signal();
}
static void SaySomethingElse(string SomethingElse)
{
Thread.Sleep(1000);
Console.WriteLine(SomethingElse);
}
}
}
SaySomethingELse() を呼び出して実行するスレッドを期待していますが、4 つのシグナルしか呼び出されていないにもかかわらず、他のスレッドも同様に実行されます。
なぜそれをするのですか?
ありがとう、
ドヘナ