我正忙着回答一个问题,一位教授瞄准了我们。
线程通常具有Running,Ready和Blocked状态。假设我们想要添加一个Suspended状态以通过允许大量线程需要比进程地址空间中可用的更多内存来最大化处理器利用率。上述内容是否有意义?如果确实如此,请解释原因并解释我们获得的benet。如果没有,请解释原因。
暂停状态对我来说似乎很愚蠢,因为同步只是一种糟糕的体验。在任何你可能想暂停的情况下,进入阻塞状态可能是因为这个想法的10倍。最重要的是,处理器已经没有被充分利用,因为当一个线程被阻塞时,另一个线程被安排。通过置入您明确进入的挂起状态,您几乎可以手动控制调度。我真的很困惑它会提供什么好处。有什么想法吗?
答案 0 :(得分:0)
我完全同意你的意见,直到你不限于线程起始点同步才能实现同步。您只需在挂起状态下创建线程,并仅在父进程引发标志时才允许它继续。但除此之外,悬浮螺纹模型无法实现同步
我还认为阻塞比挂起队列中的挂起线程更好。处理器已经被充分利用,并且在将线程用于某些特殊目的之前将线程置于挂起状态并不是真正有益的。 调试器使用挂起的线程状态,以便它们可以改变/中断/跟踪线程的状态。这显示了我们如何使用暂停状态
你是对的,你有点手动控制线程的调度过程,这使得它成为一个糟糕的主意。