Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在多线程程序(如producer/consumer)中,什么';吞咽的目的是什么_Java - Fatal编程技术网

Java 在多线程程序(如producer/consumer)中,什么';吞咽的目的是什么

Java 在多线程程序(如producer/consumer)中,什么';吞咽的目的是什么,java,Java,有些代码只是简单地调用 catch(InterruptedException ex){},为什么?用于可能发生异常但对异常的响应与try块的正常继续相同的情况。一个常见的例子是调用sleep()。(然而,这通常是一个不好的例子,因为中断通常表示应该放弃操作。)用于可能发生异常但对异常的响应与try块的正常继续相同的情况。一个常见的例子是调用sleep()。(然而,这通常是一个不好的例子,因为被中断通常意味着一个操作应该被放弃。)这通常是一个信号,表明开发人员不知道如何处理异常,因此忽略了它 这是

有些代码只是简单地调用
catch(InterruptedException ex){},为什么?

用于可能发生异常但对异常的响应与try块的正常继续相同的情况。一个常见的例子是调用sleep()。(然而,这通常是一个不好的例子,因为中断通常表示应该放弃操作。)

用于可能发生异常但对异常的响应与try块的正常继续相同的情况。一个常见的例子是调用sleep()。(然而,这通常是一个不好的例子,因为被中断通常意味着一个操作应该被放弃。)

这通常是一个信号,表明开发人员不知道如何处理异常,因此忽略了它

这是一种不良行为,导致一些人说检查异常是失败的实验。IMHO开发人员应该学会处理异常

处理此异常的更好方法是

  • 把它传给打电话的人。i、 不要抓住它
  • 调用Thread.currentThread().interrupt(),这样中断就不会丢失
  • 如果不可能出现这样的异常,请将其包装在一个
    抛出新断言错误(ex)

这通常表明开发人员不知道如何处理异常,因此忽略了异常

这是一种不良行为,导致一些人说检查异常是失败的实验。IMHO开发人员应该学会处理异常

处理此异常的更好方法是

  • 把它传给打电话的人。i、 不要抓住它
  • 调用Thread.currentThread().interrupt(),这样中断就不会丢失
  • 如果不可能出现这样的异常,请将其包装在一个
    抛出新断言错误(ex)

    • 中断异常是所谓的检查异常。当添加到要调用的方法时,这是一种表示必须考虑这种情况的方式,即处理调用结果所需的时间可能会被系统中的另一个线程抢占

      假设在一个try块中有6-7条语句,并且假设它们将以或多或少的原子方式运行。在这些语句中,有一个依赖于线程感知行为。如果该调用被抢占,您随后的语句将无法运行,您将不得不处理后果


      人们有各种各样的理由抓住这个例外,但却没有采取任何行动。我想不出有多少好的理由来这样做,除非我能清楚地表明被打断不会在我的代码中产生不良的副作用。给出任何显示这种行为的代码示例,我猜没有包含捕获逻辑,因为a)程序员没有处理它的计划;b) 程序员只想通过检查,这样代码就可以编译了

      InterruptedException是所谓的检查异常。当添加到要调用的方法时,这是一种表示必须考虑这种情况的方式,即处理调用结果所需的时间可能会被系统中的另一个线程抢占

      假设在一个try块中有6-7条语句,并且假设它们将以或多或少的原子方式运行。在这些语句中,有一个依赖于线程感知行为。如果该调用被抢占,您随后的语句将无法运行,您将不得不处理后果


      人们有各种各样的理由抓住这个例外,但却没有采取任何行动。我想不出有多少好的理由来这样做,除非我能清楚地表明被打断不会在我的代码中产生不良的副作用。给出任何显示这种行为的代码示例,我猜没有包含捕获逻辑,因为a)程序员没有处理它的计划;b) 程序员只想通过检查,这样代码就可以编译了

      捕捉、忽略异常并假装它们从未发生是一种常见的不良行为捕捉、忽略异常并假装它们从未发生是一种常见的不良行为