在StartTheEnginee()方法中,创建3个线程,然后依次启动每一个线程。
using
System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Threading;
namespace thread
{
class Car
{
public void StartTheEnginee() //共公方法,共创建三个线程
{
Thread batt=new Thread(new ThreadStart(CheckTheBattery));
Thread fuel=new Thread(new ThreadStart(CheckForFuel));
Thread eng = new Thread(new ThreadStart(CheckTheEngine));
batt.Start();
fuel.Start();
eng.Start();
for (int i = 1; i < 1000; i++)
{
//some real executing code here
}
Console.WriteLine("Enginee is ready!");
}
private void CheckForFuel()
{
Console.WriteLine("CheckForFuel");
for (int i = 1; i < 1000; i++)
{
//some real executing code here
}
Console.WriteLine("Fuel is available!");
}
private void CheckTheBattery()
{
Console.WriteLine("CheckTheBattery");
for (int i = 1; i < 1000; i++)
{
//some real executing code here
}
Console.WriteLine("Battery is available!");
}
private void CheckTheEngine()
{
Console.WriteLine("CheckTheEnginee");
for (int i = 1; i < 1000; i++)
{
//some real executing code here
}
Console.WriteLine("Enginee is available!");
}
//在类中添加一个入口点
static void Main(string[] args)
{
Console.WriteLine("Entering void Main!");
Car myCar=new Car();
//worker线程,执行StartTheEnginee()方法
Thread worker = new Thread(new ThreadStart(myCar.StartTheEnginee));
worker.Start();
for (int i = 0; i < 1000; i++)
{
//
}
Console.WriteLine("Exiting void Main!");
Console.ReadLine();
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Threading;
namespace thread
{
class Car
{
public void StartTheEnginee() //共公方法,共创建三个线程
{
Thread batt=new Thread(new ThreadStart(CheckTheBattery));
Thread fuel=new Thread(new ThreadStart(CheckForFuel));
Thread eng = new Thread(new ThreadStart(CheckTheEngine));
batt.Start();
fuel.Start();
eng.Start();
for (int i = 1; i < 1000; i++)
{
//some real executing code here
}
Console.WriteLine("Enginee is ready!");
}
private void CheckForFuel()
{
Console.WriteLine("CheckForFuel");
for (int i = 1; i < 1000; i++)
{
//some real executing code here
}
Console.WriteLine("Fuel is available!");
}
private void CheckTheBattery()
{
Console.WriteLine("CheckTheBattery");
for (int i = 1; i < 1000; i++)
{
//some real executing code here
}
Console.WriteLine("Battery is available!");
}
private void CheckTheEngine()
{
Console.WriteLine("CheckTheEnginee");
for (int i = 1; i < 1000; i++)
{
//some real executing code here
}
Console.WriteLine("Enginee is available!");
}
//在类中添加一个入口点
static void Main(string[] args)
{
Console.WriteLine("Entering void Main!");
Car myCar=new Car();
//worker线程,执行StartTheEnginee()方法
Thread worker = new Thread(new ThreadStart(myCar.StartTheEnginee));
worker.Start();
for (int i = 0; i < 1000; i++)
{
//
}
Console.WriteLine("Exiting void Main!");
Console.ReadLine();
}
}
}