我不确定你的意思是"可以被滥用为同步机制" - 这没有意义.
每个线程都有异常 - 当抛出异常时,当前线程的执行会跳转到捕获异常的位置.如果它根本没有被捕获,那么线程就会死掉.其他线程不受影响.
大多数异常由于它们发生的线程的动作而同步发生,并且在程序中被指定可能导致这种异常的点.相反,异步异常是可能在程序执行的任何时刻发生的异常.
如果要生成高质量的机器代码,则必须正确理解异步异常的语义.
异步异常很少见.它们仅在以下情况下发生:
- 调用
stopThread或ThreadGroup类的方法- Java虚拟机中的内部错误
所以不,虽然罕见,但并非所有Exception处理都是同步的.