2016-05-28 130 views
1

阻塞的线程是否会导致进程阻塞?为什么和如何?感谢所有专家的回答。阻塞的线程是否会导致进程阻塞?为什么和如何?

+1

一个进程永远不能被“阻塞”。它是一个操作系统对象,一个可执行代码和数据的容器。代码由线程执行。如果处理用户界面的线程发生死锁或者离开树林做别的事情而不是照顾用户界面,那么您很可能会断定“进程被阻止”。 –

+1

我们用于进程的术语通常是“挂起”而不是“阻塞”。进程可能会挂起,因为进程中的所有线程都被阻塞,例如死锁,但是它也可能因为线程进入无限循环而挂起,或者存在更复杂的涉及多个线程的永久重复。 –

回答

2

线程是通过进程代码执行的流程,具有自己的程序计数器,系统寄存器和堆栈。线程也被称为轻量级进程。线程提供了一种通过并行性来提高应用程序性能的方法。线程代表了一种通过减少开销线程来提高操作系统性能的软件方法,相当于一个经典过程。

每个线程只属于一个进程,进程外不存在线程。 每个线程代表一个单独的控制流程。线程已成功用于实现网络服务器和Web服务器。它们还为并行执行共享内存多处理器上的应用程序提供了一个合适的基础。

所以,正如你可能已经猜到的那样,不!线程无法阻止进程。

3

进程无法被阻止,因为“阻塞”的概念只适用于执行线程。如果进程只有一个线程并且该线程被阻塞,那么可以说阻塞进程的唯一有意义的含义是。