enaxm
V2EX  ›  Java

项目升级为多线程如何入手?

  •  
  •   enaxm · Jun 1, 2018 · 4500 views
    This topic created in 3076 days ago, the information mentioned may be changed or developed.
    原生的方法,实现 Runnable 接口、继承 Thread 类、实现 Callable 接口 etc.有了解过都做过一些案例,不确定在实际开发中怎么处理的?
    现在的实际要求是可以并行解析数据,各自返回 JSON 文件,是该用原生的还是其他的开源 jar 包?
    11 replies  •  2018-06-07 13:50:35 +08:00
    jadec0der
    jadec0der
    Jun 1, 2018
    1
    这槽不知从何吐起…你就随便做个网站,还能不是并行解析数据,各自返回 JSON ?
    quickma
    quickma
    Jun 1, 2018
    2
    写啊,开始写就知道怎么入手了。
    V2 的水平下降得太严重了
    Luckyray
    Luckyray
    Jun 1, 2018 via iPhone
    3
    没懂你要做什么,Tomcat 本身就是多线程的。难道你们要自己手写 web 容器?
    misaka19000
    misaka19000
    Jun 1, 2018❤️1
    4
    如果是 IO 密集型,建议用 NIO 替代 block IO 来提升效率,不要轻易使用多线程;

    CPU 密集型的话多线程就可以用了,按照具体的业务来进行操作就可以了;
    earendil1412
    earendil1412
    Jun 1, 2018 via Android
    5
    new Thread(()->println())就这样啊
    sheep3
    sheep3
    Jun 1, 2018
    6
    2l +1
    做了你就知道了
    mrsatangel
    mrsatangel
    Jun 1, 2018
    7
    如果底层通信用的 Netty,那就用 Netty 提供的线程池、Future、Promise 这些基础设施。一般底层的通信、IO、codec 都会抽象出一套线程模型并且作为基础设施提供。
    iyangyuan
    iyangyuan
    Jun 2, 2018 via iPhone
    8
    多线程一般用在异步模型中,比如超前处理,生产者消费者等等,又比如常见的定时任务,内部就是用多线程实现的,只不过对使用者透明而已。

    servlet 本身就是多线程模型,因此一般情况下不需要显式的使用多线程。
    yaidev
    yaidev
    Jun 3, 2018 via Android
    9
    我...
    我连你的需求都搞不明白是我太菜了吗?
    qwertyegg
    qwertyegg
    Jun 5, 2018
    10
    我自己一个小项目做的爬虫,直接用 forkJoinPool parallelStream()
    tysx
    tysx
    Jun 7, 2018
    11
    恩
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5035 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 05:58 · PVG 13:58 · LAX 21:58 · JFK 00:58
    ♥ Do have faith in what you're doing.