.NET 框架中线程的状态在 this link 中有解释。 .
我最近在一个网站上看到了这张照片,我想到了几个问题:
操作系统中的线程生命周期与 .NET 框架中的线程生命周期并不完全一致。有人可以提供与操作系统中的状态与 .NET 框架相匹配的资源吗?
我们在 .NET 框架中没有称为 Blocked 的状态。如果线程发出 I/O 请求,它会处于什么状态?
Aborted 状态的目的是什么?当线程调用
Abort()
方法时,会进入AbortRequested状态,线程响应中止请求后,会进入Stopped状态强>状态。那么Aborted状态的作用是什么呢?
最佳答案
如果线程的执行已被其中一个同步原语(例如锁或互斥体)挂起,则该线程将被阻塞。根据定义,在给定时刻执行有用工作的任何线程在那一刻都不会被阻塞。
AbortRequested/Stopped
循环让线程有机会执行有序关闭、释放获取的资源并执行其他清理任务。
关于c# - .NET 框架中的线程生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8966636/