当一个线程被阻塞时,这个线程是否需要阻塞同一进程或其进程中的任何其他线程?每次都发生这种情况吗?当一个线程被阻塞时,可能导致在同一个进程或整个进程中阻塞另一个线程?
0
A
回答
1
当然。如果情况并非如此,我们就不必应付僵局。该方案是被阻塞的线程获取了另一个线程试图获取的同步对象。它会阻止。
好的,我现在得到问题了。一般来说,是的。其他一些代码需要运行以释放阻塞条件。非显而易见的情况是在线程在I/O上被阻塞时在驱动程序中运行代码的内核线程。或者线程调度程序,以防线程因等待获取处理器或正在等待非无限超时而被阻塞。
1
是的,这可能发生在任何同步操作中,其中一个线程需要等待另一个线程执行某些操作。例如,如果线程A持有一个锁,然后在内核中执行长时间的阻塞操作,则另一个线程B将在尝试获取该锁时阻塞。线程B将被阻塞,至少直到线程A的阻塞操作完成。
在极端情况下,线程等待对方将导致Deadlock
附加澄清:
版面中的彼此独立的进程中运行。一个线程阻塞不一定会阻塞其他线程。这是首先使用线程的主要原因之一。
-1
当一个线程被阻塞,这也是块的所有线程的进程中
相关问题
- 1. 线程只阻塞第一个线程
- 2. 为什么启动一个线程被另一个线程阻塞?
- 3. 为什么NSTimer在另一个线程运行时被阻塞?
- 4. python为什么在一个线程中真正阻塞另一个线程
- 5. 在另一个线程中调用Thread.sleep()时UI线程被阻塞
- 6. C#ThreadPool一个线程阻塞其他?
- 7. 一个Node.js线程阻塞另一个吗?
- 8. 从另一个线程返回一个值。没有阻塞主线程
- 9. 当一个线程被阻塞时,其他线程会发生什么?
- 10. std :: launch :: async被阻塞,像一个同步进程
- 11. 可以阻塞的java线程的方法由另一个线程执行?
- 12. performSelector:onThread:当目标线程被阻塞时
- 13. UI线程被阻塞
- 14. Netty线程被阻塞
- 15. 如何让一个进程被阻塞,直到另一个进程将一行写入文件?
- 16. 阻塞线程 - Java
- 17. Java线程阻塞
- 18. Java线程阻塞
- 19. MessageBeep线程阻塞
- 20. 睡一个线程被阻塞标准输入
- 21. Tomcat没有响应,threadump显示一个被阻塞的线程
- 22. 试图理解为什么一个线程可能在日食中被阻塞?
- 23. 将线程阻塞转换为f中的非线程阻塞#
- 24. 阻塞队列不阻塞线程?
- 25. 异步加载一个世界或不阻塞主线程
- 26. 在.Net中阻塞线程
- 27. 为什么在另一个线程中阻塞的IO阻止CreateWindowEx()返回
- 28. 什么可能导致EventWaitHandle.Set()阻塞当前线程?
- 29. Django非阻塞电子邮件?线程下线或子进程?
- 30. 从另一个线程释放解释器锁/强制另一个线程阻塞
原谅我的错expression..i didnt意味着如果出现这种情况,或者如果有一个possibility.i想问:当一个线程被阻塞是否有必要让这个线程阻塞同一进程或其进程中的其他线程?每次都发生这种情况吗? – Dchris 2011-02-09 16:06:11
@user:你可以编辑你的问题来包含这个说明吗? – Karmastan 2011-02-09 16:11:52