两个工作线程t1和t2,同时启动这两个线程,其中t2需要等待t1的执行结果达成某一条件之后再继续往下执行。
class Program
{
private static int number = 0;
private static void Method1()
{
for (int i = 0; i < 20; ++i)
{
number += 1;
Thread.Sleep(1000);
Console.WriteLine(number);
}
}
private static void Method2()
{
for (int i = 0; i < 5; i++)
{
Thread.Sleep(1000);
Console.WriteLine("Method2");
}
SpinWait.SpinUntil(() => number > 10);
Console.WriteLine("A");
}
static void Main(string[] args)
{
number = 0;
Thread t1 = new Thread(new ThreadStart(Method1));
Thread t2 = new Thread(new ThreadStart(Method