代码之家  ›  专栏  ›  技术社区  ›  TreDubZedd

如何判断进程挂起是否是由于缓冲区已满(TCP、stdin、stdout)?

  •  0
  • TreDubZedd  · 技术社区  · 16 年前

    到目前为止,我的研究似乎表明,由于输出缓冲区被填满,我可能遇到了死锁情况。我怎样才能证实情况确实如此?是什么导致了这个问题,还有其他的解释吗?

    1 回复  |  直到 16 年前
        1
  •  1
  •   tzaman    16 年前

    如果您怀疑某个调用在某个地方被阻塞,您可以尝试查看是否存在异步版本(带有回调);或者,在线程内手动启动它,然后让主线程在循环中休眠,直到某个超时;如果在此之前未完成,则抛出异常。