手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

java如何测试并发代码

时间:2024-10-27 05:06:35

1、我们基于jdk1.8进行讲解,如何测试并发代码

java如何测试并发代码

2、先看示例,如下图所示:

java如何测试并发代码

3、检查此代码时, 可以原谅您说此代码永远不会终止。代码将在单个线程中永远打印线程名称。

4、但是, 在运行此代码时, 您应该会看到它在将7–10行打印到控制台后很快终止。

java如何测试并发代码

5、在 junit 中, 当主线程中的代码完成后, 测试就完成了。在本例中, 方法的最后一行将 "运行能力" 传递给 "执行器"。该操作完成后, junit 假定测试已完成。它不会等待任何其他线程完成。如果你有更复杂的测试, 你的期望是在一个单独的线程中计算的, 这可能会让你感到惊讶。

6、即使使用单一线程执行器而不是缓存的线程池也不能解决此问题。尽管执行器只能有一个线程, 但它仍在单独的线程中运行。

java如何测试并发代码

7、本质上, 您有两个选项: 您需要您的执行器在同一个线程中运行, 或者您需要等待线程完成。下图是等待支持线程完成的一个示例。

java如何测试并发代码

8、此代码使用CountDownLatch实例将线程保持在最后一行上, 直到另一个线程计数为零。

© 手抄报圈