V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ZPPP
V2EX  ›  Java

如何学习多线程

  •  2
     
  •   ZPPP · 2019-09-12 16:41:38 +08:00 · 5485 次点击
    这是一个创建于 1902 天前的主题,其中的信息可能已经有所发展或是发生改变。
    第 1 条附言  ·  2019-09-12 23:07:03 +08:00
    看了相关的书,但是很难运用到自己现在做的项目中。
    10 条回复    2019-09-16 19:36:44 +08:00
    skypyb
        1
    skypyb  
       2019-09-12 16:45:36 +08:00 via Android

    工作中用不到就自己写项目用
    想找个计算密集型项目还蛮麻烦的,就搞个 io 密集型的吧,各种第三方 api 狂用然后爬一堆页面。多线程搞就完事了
    bobuick
        2
    bobuick  
       2019-09-12 16:58:30 +08:00
    写个 http server
    写个 tcp server
    写一些带状态的服务, 不要是 web api 这种失血 pojo 一样的.
    changz
        3
    changz  
       2019-09-12 18:20:26 +08:00 via Android
    把陈硕的 muduo 看一遍
    lazyfighter
        4
    lazyfighter  
       2019-09-12 18:29:21 +08:00
    看书就行,基础先了解,在找个涉及到多线程的看一看怎么用啊 ,完美
    nvioue
        5
    nvioue  
       2019-09-13 11:00:45 +08:00 via Android
    为啥要学多线程?你说的多线程到底指什么方面?什么场景需要用多线程? 灵魂三问。
    反正一般搞网络后台开发 ,一般是多进程单线程
    345161974
        6
    345161974  
       2019-09-13 11:24:29 +08:00
    学以致用。工作中用不到,就不要学了,大部分都是学了又忘了,浪费时间,不如深入研究当前所用技术。

    实在对多线程开发感兴趣,极客时间好像有一门课讲 java 多线程开发,还有一本 C++的《 C++并发编程实战》,建议看英文版《 C++ Concurrency In Action 》。
    ChristopherWu
        7
    ChristopherWu  
       2019-09-13 12:41:21 +08:00
    我来个狠的,自己写一个代理,你自己电脑上网所有流量都必须经过这个代理出去
    stevenbipt
        8
    stevenbipt  
       2019-09-13 14:06:50 +08:00
    写个 http server 吧,那个还挺有意思的
    wind3110991
        9
    wind3110991  
       2019-09-14 15:25:12 +08:00
    新手在学习时其实 C++入门门槛我个人觉得略高,很多时候会被阻塞和浪费时间在非必要的地方,除非身边有大神亲历指导。可以在动手的地方使用其他语言入门,配合看 C++的实现原理即可。

    用 java 作为入门是个不错的选择,下个 idea IDE,然后装个 JDK,自己实现一个 htttp svr 多线程连接模型,模拟多个线程处理不同客户端发来的请求,创建一个公共变量来处理业务逻辑,例如搞一个 Integer connCount 来记录当前存活的连接数,然后多思考下如何在多个线程的连接退出和新建并发场景下,来正确管理这个变量;其实要理解为何要使用多线程,使用多线程的优势和弊端在哪里,为什么大部分牛逼的网络框架其实不是使用多线程模型的等等,多思考为什么,不论对错总会有收获的。
    ZPPP
        10
    ZPPP  
    OP
       2019-09-16 19:36:44 +08:00
    @wind3110991 非常好的一个思路,我动手实践下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5325 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 08:43 · PVG 16:43 · LAX 00:43 · JFK 03:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.