线程的创建和启动

来源:互联网 发布:javascript decodeuri 编辑:程序博客网 时间:2024/05/14 10:09
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
namespace 线程的创建和启动
{
    
public class B
    {
        
//Main()方法总是.net应用程序的第一个线程
        public static void Main()
        {
            Console.WriteLine(
"线程的创建和启动示例");
            A a 
= new A();

            
//构造函数的参数是一个委托,该委托代表a.ff方法的细节,即线程开始执行的方法
            
//你可以先实例化该委托,然后传递到该构造函数中实例化该Thread对象,这里一步成
            Thread s1 = new Thread(new ThreadStart(a.ff));//实例方法
            s1.Start();//启动一个线程
            Console.WriteLine("启动新线程ff()方法后,被Main()线程调用");

            Thread s2 
= new Thread(new ThreadStart(A.gg));//静态方法
            s2.Start();//启动另一个线程
            Console.WriteLine("启动新线程gg()方法后,被Main()线程调用");
            Console.ReadLine();
        }
    }

    
public class A
    {    
        
public void ff()//线程启动时调用此方法
        {    
            Console.WriteLine(
"A.ff()方法在另一个线程上运行");
            Thread.Sleep(
3000);//将线程阻塞一定时间
            Console.WriteLine("终止工作线程调用此实例方法");    
        }
        
public static void gg()
        {    
            Console.WriteLine(
"A.gg()方法在另一个线程上运行");
            Thread.Sleep(
5000);//将线程阻塞一定时间
            Console.WriteLine("终止工作线程调用此静态方法");    
        }
    }

}
 
原创粉丝点击