【发布时间】:2020-07-08 18:19:36
【问题描述】:
我有一个调用断言的主线程。在断言内部,有另一个方法被调用,该方法使用了 latch.await() 。现在主线程不等待断言完成并在程序中前进。这是预期的行为吗?这是否意味着如果父方法调用的方法正在使用latch.await,它可以继续执行?
【问题讨论】:
-
你能贴一些代码让我重现这个东西吗?
-
你的主线程必须在启动其他线程后立即调用 CountDownLatch.await() 方法。执行将在 await() 方法上停止,直到其他线程完成执行。
-
请贴一些代码。而且,在运行 Java 时是否启用了断言?通常你需要
-ea标志 -
是阿米特,我期待的错误显然不是由闩锁引起的,它确实同步运行。谢谢。
标签: java multithreading asynchronous countdownlatch