1
niuroumian 2017 年 8 月 18 日 via iPhone
用 BlockingQueue 在回掉函数里获取结果,然后主线程取出
|
2
doing 2017 年 8 月 18 日
Callable+FutureTask 不可以吗
|
3
ghos 2017 年 8 月 18 日
CompletableFuture ?这个可以支持执行完进行回调的
|
4
suantong 2017 年 8 月 18 日 via Android
简单问题你复杂化了。
|
5
looplj 2017 年 8 月 18 日
可以看下 Vert.x,就是全部异步,IO 的时候还是要在 Block 线程池中执行,使用的时候配置一下线程池数量就可以了。
其实用异步也只是增加一些并发量而已,QPS 的决定性因素还是 IO,这个也是 Servlet 还是主流的原因了。 而且,Java 写这种异步很麻烦的。 推荐用 Go 吧。 |
6
lowzoom 2017 年 8 月 18 日
外层传个回调进来就可以了吧,为何一定要 return
|
7
lujiajing1126 2017 年 8 月 18 日 via iPhone
Java 也有协程实现
|
9
quietin OP @lujiajing1126 有推荐的实现吗, 生产环境稳定可靠的
|
10
mrsatangel 2017 年 8 月 18 日
协程:quasar
封装 IO: 裸写 nio/netty netty 和 quasar 都很稳定 |
11
lowzoom 2017 年 8 月 18 日 CompletableFuture.supplyAsync(IO 函数)
.thenAccept(外部传进来的回调函数) |
13
lowzoom 2017 年 8 月 18 日
贴个代码来看看
|
14
dphdjy 2017 年 8 月 18 日 via Android
用 task 结束的时候 post 回去
|
15
lujiajing1126 2017 年 8 月 18 日 via iPhone
@quietin 10 楼已经提到了
|
16
rayingecho 2017 年 8 月 18 日
可以用 Kotlin 的协程,跟 Java 完美互操作,不存在隔阂了
|
17
zhx1991 2017 年 8 月 19 日
你描述的功能就是 future 啊
|
18
zhchyu999 2017 年 8 月 19 日
|
19
yidinghe 2017 年 8 月 19 日 via Android
Netty 框架就是为了最大化网络吞吐量而编写的。
|
20
micean 2017 年 8 月 20 日
试用过 java 的伪协程框架,性能还不如走线程池写同步代码
其实涉及到数据库操作的话,如果数据库不支持异步还是得挂线程去 wait 数据 |