我也问个多线程的问题

2018-09-17 15:30:51 +08:00
 yhvictor
我在工作中都是用 guava concurrency 的库和线程池。
线程切换开销也可以通过修改 thread pool 达到同线程池 callback 不切换线程。

所以,java 为什么要用协程啊?是写代码会简单么?
(以及 ListenableFuture 多好用啊。。。)
2269 次点击
所在节点    Java
3 条回复
yanaraika
2018-09-17 16:12:45 +08:00
写个 I/O 多路复用代码就知道了……
sagaxu
2018-09-17 17:22:29 +08:00
for (int i = 0; i < 10; i++) {
String s = http.get(urls[i]);
if (s.equals("A")) {
continue;
}
if (s.equals("B")) {
break;
}
callBlockingServiceFoo();
}

把这段同步阻塞代码,转换成异步的试试,我们对比一下代码量和开发成本。
luozic
2018-09-29 20:36:25 +08:00
现在大部分都是 IO 类型的代码,在纯算法或者计算上面线程切换甚至有害。 一切看场景看疗效。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/490098

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX