首页 > 编程语言 >java使用线程池实现接口自动化中的并发测试

java使用线程池实现接口自动化中的并发测试

时间:2023-07-30 14:22:48浏览次数:35  
标签:java return 并发 线程 import exception2 exception1 null



import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;


public void test() throws ExecutionException, InterruptedException { ExecutorService executorService = Executors.newFixedThreadPool(2); Future<Throwable> future1 = executorService.submit(() -> { try { // 接口请求 return null; }catch (Throwable e){ return e; } }); Future<Throwable> future2 = executorService.submit(() -> { try { // 接口请求 return null; }catch (Throwable e){ return e; } }); Throwable exception1 = future1.get(); Throwable exception2 = future2.get(); Assert.assertTrue((exception1 == null && exception2 != null) || (exception1 != null && exception2 == null)); if (exception1 != null) { Assert.assertTrue(exception1 instanceof AssertionError); } if (exception2 != null) { Assert.assertTrue(exception2 instanceof AssertionError); } }

 

标签:java,return,并发,线程,import,exception2,exception1,null
From: https://www.cnblogs.com/jinziguang/p/17591379.html

相关文章

  • Java之Stream流的收集
    Java之Stream流的收集收集Stream流的含义:就是把Stream流操作后的结果数据转到集合或者数组中去。Stream流只是方便操作集合/数组的手段。集合/数组才是开发中的目的。Stream流的收集方法名称说明Rcollect(Collectorcollector)开始收集Stream流,指定收集器Col......
  • java多线程
    1、什么是JUC官方文档+源码​ 面试高频问java.utiljava.util.concurrentjava.util.concurrent.atomicjava.util.concurrent.locks​ java,util工具包、包、分类业务:普通的线程代码ThreadRunnable没有返回值2、线程和进程线程和进程如果不能用一句话说出来的......
  • Java之Stream流综合案例
    Java之Stream流综合案例需求:某个公司的开发部门,分为开发一部和二部,现在需要进行年中数据结算。分析:员工信息至少包含了(名称、性别、工资、奖金、处罚记录)开发一部有4个员工,开发二部有5个员工。分别筛选出2个部门的最高工资的员工信息,封装成优秀员工对象。分别统......
  • Java中过滤出ListA和ListB中字段相同的集合
    Java中过滤出ListA和ListB中age字段相同的User集合在Java中,List是一种常见的集合类型,它可以用来存储一组有序的数据。而对于List中存储的对象类型,我们可以使用泛型来进行限定。假设我们现在有两个List集合,分别为ListA和ListB,它们都存储了一些User对象。现在我们需要从这两个集合......
  • JavaScript、ECMA、CommonJs、NodeJS、TypeScript的关系
    返回JavaScript发布时间:1995发布公司:Netscape(网景)它是一种高级的解释型编程语言,简称JS它最初的设计目标是改善网页的用户体验。......
  • 设计模式-迭代器模式在Java中使用示例
    场景为开发一套销售管理系统,在对该系统进行分析和设计时,发现经常需要对系统中的商品数据、客户数据等进行遍历,为了复用这些遍历代码,开发人员设计了一个抽象的数据集合类AbstractObjectList,而将存储商品和客户等数据的类作为其子类AbstractObjectList类的子类ProductList和Custo......
  • Java的readBytes是怎么实现的?
    1.前言众所周知,Java是一门跨平台语言,针对不同的操作系统有不同的实现。本文从一个非常简单的api调用来看看Java具体是怎么做的.2.源码分析从FileInputStream.java中看到readBytes最后是native调用/***Readsasubarrayasasequenceofbytes.*@parambtheda......
  • 【Java】《2小时搞定多线程》个人笔记
    简介基于慕课网站上的一个一元钱课程《2小时搞定多线程》的个人笔记。线程的起源我们先来看看网络中关于线程起源的说明,理解线程的来龙去脉对于掌握多线程有一定帮助。此部分内容整理自下面两篇网络博客:#线程是什么#线程的起源线程的起源与计算机的发展息息相关。早期的计算机系......
  • VarHandle:Java9中保证变量读写可见性、有序性、原子性利器
    文章目录一、什么是VarHandle0、JMM1、jdk9之前无锁技术的实现二、VarHandle使用1、VarHandle快速上手2、VarHandle常用方法3、实战案例1:解决可见性(比volatile轻量)4、实战案例2:解决指令重排序(比volatile轻量)(1)案例分析:partialordering(2)案例分析:totalordering一、什么是VarHand......
  • 并发编程-CompletableFuture解析 | 京东物流技术团队
    1、CompletableFuture介绍CompletableFuture对象是JDK1.8版本新引入的类,这个类实现了两个接口,一个是Future接口,一个是CompletionStage接口。CompletionStage接口是JDK1.8版本提供的接口,用于异步执行中的阶段处理,CompletionStage定义了一组接口用于在一个阶段执行结束之后,要么继续执......