V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
enaxm
V2EX  ›  Java

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

  •  
  •   enaxm · Jun 1, 2018 · 4026 views
    This topic created in 2888 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
        1
    jadec0der  
       Jun 1, 2018
    这槽不知从何吐起…你就随便做个网站,还能不是并行解析数据,各自返回 JSON ?
    quickma
        2
    quickma  
       Jun 1, 2018
    写啊,开始写就知道怎么入手了。
    V2 的水平下降得太严重了
    Luckyray
        3
    Luckyray  
       Jun 1, 2018 via iPhone
    没懂你要做什么,Tomcat 本身就是多线程的。难道你们要自己手写 web 容器?
    misaka19000
        4
    misaka19000  
       Jun 1, 2018   ❤️ 1
    如果是 IO 密集型,建议用 NIO 替代 block IO 来提升效率,不要轻易使用多线程;

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

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