大概意思是我一个接口里面需要连续调用7次远程同样的接口,只是传给接口的参数不一样,相互之间没有数据交互,使用的是同一个service里面同一个方法,其他不涉及共享变量
CompletableFuture operate4RenewFuture = CompletableFuture.runAsync(() -> {
this.testService.testMethod();
}, threadPoolExecutor);
线程池定义如下
@Bean
public ThreadPoolExecutor threadPoolExecutor(){
return new ThreadPoolExecutor(50, 500,
30, TimeUnit.SECONDS,
new ArrayBlockingQueue<>(10000));
}
如果项目采用分布式部署,高并发情况下,这些异步任务之前会有线程安全性问题吗?
在说线程安全不安全之前,我们应该首先明确到底在说什么东西安全还是不安全
安全不安全说的都是数据
如果一个操作根本不涉及操作数据,那也就没有安全不安全的问题
比如一个函数,里面没有使用任何全局变量,全是形参传进来的,那每一个调用函数的地方都独立开辟一块内存,互相没有影响,也就根本不涉及线程安全的问题,你同时开100个线程都执行同一个函数也保证不会互相冲突啊
你调用函数访问远端接口也是一样,要看你函数里面到底怎么实现的,用了什么全局变量了吗
如果你发送接收的字节数组用的是全局变量,那肯定冲突啊,互相覆盖呀