如何学习多线程

2019-09-12 16:41:38 +08:00
 ZPPP
5286 次点击
所在节点    Java
10 条回复
skypyb
2019-09-12 16:45:36 +08:00

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

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

用 java 作为入门是个不错的选择,下个 idea IDE,然后装个 JDK,自己实现一个 htttp svr 多线程连接模型,模拟多个线程处理不同客户端发来的请求,创建一个公共变量来处理业务逻辑,例如搞一个 Integer connCount 来记录当前存活的连接数,然后多思考下如何在多个线程的连接退出和新建并发场景下,来正确管理这个变量;其实要理解为何要使用多线程,使用多线程的优势和弊端在哪里,为什么大部分牛逼的网络框架其实不是使用多线程模型的等等,多思考为什么,不论对错总会有收获的。
ZPPP
2019-09-16 19:36:44 +08:00
@wind3110991 非常好的一个思路,我动手实践下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/600435

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX