82 Thread类 Thread类■线程的状态和生命周期 程创行语在 中运共 BackGround nded Requested Unstarted A的Gom每图 应Su 调 B调用wa()Jon() A调用slep() 用 B调用 Interrupt() Aborto 元 图181线程的生命周期示意图
8.2 Thread类 ◼ Thread类 ◼ 线程的状态和生命周期 在 公 共 语 言 运 行 库 中 创 建 线 程 A A响 应Su spend 请求 SuspendedRequested Suspended BackGround WaitSleepJoin Unstarted Abort AbortRequested Stopped StoppedRequested A 调 用 start( ) B调用Interrupt( ) 设 ou 置 A的 Is 属 Ba ck nd 性 Gr A调用sleep( ) B调用wait( ), Join( ) B调 用Re sume ( ) 线 完 程 成 B 用 调 u s S e nd ( ) p 响 应 请 Abort 求 A B 调 Abort( ) 用 Running B调 用Re sume ( ) 图18.1 线程的生命周期示意图
18.3多线程编程的基本步骤(1) 第一个步骤是定义 Thread对象。 Thread类是一个 sealed类,不能被继 承,可以创建 Thread类的实例。每个线程指代一个方法,称为线程 方法或线程函数,该方法无参数,且返回值类型为void。若需要传 递相关的参数,可以使用对象的成员变量或方法。生成 Thread实例 时,首先定义一个指代,然后定义一个 Thread对象,调用 Thread类 的构造方法生成该实例。例如,下列代码生成一个 Thread实例: public delegate void ThreadStart () Thread thread 1=new Thread( new ThreadStart( obj. my ThreadFun )) private void my ThreadFun
18.3 多线程编程的基本步骤(1) 第一个步骤是定义Thread对象。Thread类是一个sealed类,不能被继 承,可以创建Thread类的实例。每个线程指代一个方法,称为线程 方法或线程函数,该方法无参数,且返回值类型为void。若需要传 递相关的参数,可以使用对象的成员变量或方法。生成Thread实例 时,首先定义一个指代,然后定义一个Thread对象,调用Thread类 的构造方法生成该实例。例如,下列代码生成一个Thread实例: public delegate void ThreadStart ( ); Thread thread1 = new Thread( new ThreadStart( obj.myThreadFun ) ); private void myThreadFun ( ) { ……; }