项目升级为多线程如何入手? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
enaxm
V2EX    Java

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

  •  
  •   enaxm 2018 年 6 月 1 日 4020 次点击
    这是一个创建于 2885 天前的主题,其中的信息可能已经有所发展或是发生改变。
    原生的方法,实现 Runnable 接口、继承 Thread 类、实现 Callable 接口 etc.有了解过都做过一些案例,不确定在实际开发中怎么处理的?
    现在的实际要求是可以并行解析数据,各自返回 JSON 文件,是该用原生的还是其他的开源 jar 包?
    11 条回复    2018-06-07 13:50:35 +08:00
    jadec0der
        1
    jadec0der  
       2018 年 6 月 1 日
    这槽不知从何吐起…你就随便做个网站,还能不是并行解析数据,各自返回 JSON ?
    quickma
        2
    quickma  
       2018 年 6 月 1 日
    写啊,开始写就知道怎么入手了。
    V2 的水平下降得太严重了
    Luckyray
        3
    Luckyray  
       2018 年 6 月 1 日 via iPhone
    没懂你要做什么,Tomcat 本身就是多线程的。难道你们要自己手写 web 容器?
    misaka19000
        4
    misaka19000  
       2018 年 6 月 1 日   1
    如果是 IO 密集型,建议用 NIO 替代 block IO 来提升效率,不要轻易使用多线程;

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

    servlet 本身就是多线程模型,因此一般情况下不需要显式的使用多线程。
    yaidev
        9
    yaidev  
       2018 年 6 月 3 日 via Android
    我...
    我连你的需求都搞不明白是我太菜了吗?
    qwertyegg
        10
    qwertyegg  
       2018 年 6 月 5 日
    我自己一个小项目做的爬虫,直接用 forkJoinPool parallelStream()
    tysx
        11
    tysx  
       2018 年 6 月 7 日
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1006 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 49ms UTC 23:07 PVG 07:07 LAX 16:07 JFK 19:07
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86