
java多线程
北漂编程小王子
程序猿的工作日记
展开
-
Future 实现异步调用
项目需要实现操作异步调用,直接上代码:@ApiOperation("执行操作")@PutMapping("/xxxx")public ResultBody approval(@RequestBody @Validated Param param) { try { //逻辑处理 .... Future<Object> result = this.service.do(param); //阻塞上面的方法执行,时间不超过2秒原创 2021-10-22 17:17:30 · 350 阅读 · 0 评论 -
future.get方法阻塞问题的解决,实现按照任务完成的先后顺序获取任务的结果
1、FutureFuture模式是多线程设计常用的一种设计模式。Future模式可以理解成:我有一个任务,提交给了Future,Future替我完成这个任务。期间我自己可以去做任何想做的事情。一段时间之后,我就便可以从Future那儿取出结果。Future提供了三种功能:判断任务是否完成能够中断任务能够获取任务执行的结果向线程池中提交任务的submit方法不是阻塞方法,而Future.get方法是一个阻塞方法,当submit提交多个任务时,只有所有任务都完成后,才能使用get按照任务的提交顺序得原创 2021-10-22 16:40:34 · 6394 阅读 · 0 评论 -
java开启多个线程,执行完成后再执行主线程
代码例子: public static void main(String[] args) throws Exception{ int count = 10; List<Thread> workers = new ArrayList<>(); for(int i = 0; i < count; i++) { final int s = i; Thread worker = new原创 2021-08-03 15:53:21 · 2628 阅读 · 0 评论 -
多线程将DB数据缓存到Elasticsearch里
使用多线程将库存信息同步到Elasticsearch缓存里,代码如下: @GetMapping("/internal/unifiedInventory/sync/dbToEs") public void syncUnifiedInventoryDbToEs() { ExecutorService executors = Executors.newFixedThreadPo...原创 2019-07-17 17:57:31 · 309 阅读 · 0 评论