社区
其他技术讨论专区
帖子详情
java如何实现先返回一个结果再执行其他代码?
weixin_38049216
2017-11-27 09:20:09
要实现一个接口,前端访问该接口时,接口先返回一个状态比如1(前端收到这个状态后在页面提示文件正在生成),然后再执行下载代码???
...全文
5590
10
打赏
收藏
java如何实现先返回一个结果再执行其他代码?
要实现一个接口,前端访问该接口时,接口先返回一个状态比如1(前端收到这个状态后在页面提示文件正在生成),然后再执行下载代码???
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
weixin_38120906
2017-11-28
打赏
举报
回复
用spring框架的话,用@Async注解做异步方法即可。原生的话,写一个线程任务去实现
weixin_38108951
2017-11-28
打赏
举报
回复
new Thread(){}.start();
weixin_38108704
2017-11-28
打赏
举报
回复
return之前把要后续要执行的逻辑封装成一个task丢到BlockingQueue里面去
weixin_38076068
2017-11-28
打赏
举报
回复
1
从题主的描述来讲,这个场景应该类似异步下载的场景: 前端发起一个下载的请求 然后后端直接返回给前端,“嘿,我这里开始下载了,你去忙吧,过几分钟再来看下载完了没有” 后端则在后台吭哧吭哧的下载数据 这不就是一个典型的异步处理场景么....
weixin_38104149
2017-11-28
打赏
举报
回复
表达能力
weixin_38068392
2017-11-28
打赏
举报
回复
你要表达的是“后端接口异步处理作业”。 这个需要用多线程(ThreadPool)来完成,当前接口请求进来之后,立即提交异步处理任务,然后返回提交的结果(成功和失败、查询异步任务业务唯一Key),客户端根据返回成功或失败进行提示,如果成功,则定时按Key查询异步任务的执行进度、直到完成,然后按Key拿异步处理的结果。
weixin_38096704
2017-11-28
打赏
举报
回复
前端异步哪家强
weixin_38122182
2017-11-28
打赏
举报
回复
前端访问 后端接口, 后端接口 开启一个线程,并返回状态1, 线程里面就是你要处理的内容,前端接口收状态1之后 打开一个轮询去看需要下载的文件生成好了没, 生成好了的话 就下载, 没生成好的话 就继续等待
weixin_38088281
2017-11-27
打赏
举报
回复
如果再服务端,的可以另外起线程, 如果是在前端,应该就是返回结果后就执行吧
weixin_38082537
2017-11-27
打赏
举报
回复
现在不就是这样的吗
【李宁】
Java
并发实战丨蓄力计划
本课程可用于面试以及提升自己的
Java
技能本课程使用
Java
16进行教学,主要讲解
Java
中的并发技术,主要内容如下: 1. 线程管理(线程创建、运行、线程中断、线程休眠、守护进程、用工厂创建线程等)2. 线程同步 (方法同步、在同步
代码
块中使用条件、读写锁、在
一个
锁中使用多个条件、StampedLock类等)3. 线程
执行
器(创建线程
执行
器、
返回
多个任务、运行多个任务、在
执行
器内取消任务等)4. fork/join(创建fork/join池、合并任务的
执行
结果、异步运行任务、取消任务)5. 并行反应式流(归约流中的元素、搜集流中的元素、过滤流中的元素、反应式编程等)6. 集合并发7. 并发类8. 其他并发技术
java
异步
执行
代码
(
先
返回
结果,后
执行
代码
要
先
返回
结果,后
执行
内容,需要使用异步的方式,用ExecutorService进行处理。如果是单个的,就直接调用比较简单。如果是多个的,就
先
要注册下,然后遍历去调用。
java
代码
返回
方法_方法
返回
后运行
Java
代码
?
你需要使用Threads,因为你将程序流分成两部分;
返回
路径和处理路径分开并彼此并排运行.如果您需要通过
返回
方法确认方法开始发送,那么为什么您的服务提供方法看起来不像这样简单?public Acknowledgement someService() {new Thread(new SomeServiceRunnable()).start();return new Acknowledgement()...
java
代码
异步
执行
_
Java
实现
异步调用
一、创建线程 @Test public void test0() throws Exception { System.out.println("main函数开始
执行
"); Thread thread = new Thread( new Runnable() { @Override
主线程
返回
响应,子线程继续
执行
Java
,多线程
其他技术讨论专区
433
社区成员
791,270
社区内容
发帖
与我相关
我的任务
其他技术讨论专区
其他技术讨论专区
复制链接
扫一扫
分享
社区描述
其他技术讨论专区
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章