线程的状态和转换试卷.ppt

实 验 线程的状态和转换 实 验 目 的 调试线程在各种状态间的转换过程,熟悉线程的状态和转换。 通过为线程增加挂起状态,加深对线程状态的理解。 线程的状态和其转换过程 线程控制块中的状态域 及线程状态的枚举定义 typedef struct _THREAD { …… UCHAR State; // 线程当前状态 …… } THREAD; typedef enum _THREAD_STATE { Zero, // 线程状态转换过程中的中间状态 Ready, // 就绪 Running, // 运行 Waiting, // 等待(阻塞) Terminated // 结束 } THREAD_STATE; 线程处于运行、就绪、阻塞状态时 线程控制块的位置 线程控制块都是从系统内存池中分配的! 运行状态:全局变量PspCurrentThread指向处于运行状态线程的线程控制块。 就绪状态:线程控制块在其优先级对应的就绪队列中。 阻塞状态:线程控制块在同步对象的等待队列中。 线程状态转换包括:线程控制块中状态域的变化,线程控制块位置的变化等。 线程由阻塞状态进入就绪状态的源代码 PTHREAD PspWakeThread( IN PLIST_ENTRY WaitListHead, IN STATUS WaitStatus ) { PT

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档