在一个线程中产生多个线程

来源:互联网 发布:协同过滤推荐算法代码 编辑:程序博客网 时间:2024/04/30 11:05
在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();
            }

    }

         
      
     
    
}