yhvictor
V2EX  ›  Java

我也问个多线程的问题

  •  
  •   yhvictor · Sep 17, 2018 · 3116 views
    This topic created in 2866 days ago, the information mentioned may be changed or developed.
    我在工作中都是用 guava concurrency 的库和线程池。
    线程切换开销也可以通过修改 thread pool 达到同线程池 callback 不切换线程。

    所以,java 为什么要用协程啊?是写代码会简单么?
    (以及 ListenableFuture 多好用啊。。。)
    3 replies    2018-09-29 20:36:25 +08:00
    yanaraika
        1
    yanaraika  
       Sep 17, 2018
    写个 I/O 多路复用代码就知道了……
    sagaxu
        2
    sagaxu  
       Sep 17, 2018 via Android
    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
        3
    luozic  
       Sep 29, 2018 via iPhone
    现在大部分都是 IO 类型的代码,在纯算法或者计算上面线程切换甚至有害。 一切看场景看疗效。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   990 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 22:04 · PVG 06:04 · LAX 15:04 · JFK 18:04
    ♥ Do have faith in what you're doing.