如何系统学习多线程

2020-03-18 09:55:11 +08:00
 northpolepuppy

我对多线程只有一知半解的水平,但是说起学习来又不知道该怎么学,买了本《 C#多线程编程实战》,感觉这本书上解释的太过于生涩,完全看不懂,看完了也不知道这个类那个类到底在什么场景下使用。请各位不吝赐教,可以推荐书,也可以推荐教程,最好推荐关于 C#的,因为我现在使用的语言就是 C#

1278 次点击
所在节点    问与答
7 条回复
redford42
2020-03-18 10:27:19 +08:00
蹲一个
我 java 的也学得不行
我的理解是多线程要运用于 io 操作频繁的地方?
这样因为 cpu 运算速度很快,io 速度较慢,所以启动好几个线程去耗尽 cpu ?
但是说是这么说,实际运用我想不出来啥
limbo0
2020-03-18 10:47:48 +08:00
@redford42 比如说爬虫
keith1126
2020-03-18 11:06:19 +08:00
系统学习的话,可以看 Operating System: Three Easy Pieces 这本书,里面的第二部分,就是讲并发的。
sujin190
2020-03-18 11:52:58 +08:00
@redford42 #1 不要忘了现在 cpu 都是多核超线程的,就算是高 cpu 的计算用多性能也可以充分多核加速
lights
2020-03-18 12:31:57 +08:00
多线程虽然是语言实现,但其思想是与操作系统结合得比较多的,建议从操作系统入手学习其思想,再用语言实现
northpolepuppy
2020-03-18 20:02:20 +08:00
@keith1126
@lights
感谢
ho121
2020-03-19 08:08:24 +08:00
多线程是为了解决什么问题?
为什么这样做可以解决问题?
有没有其它方式解决同样的问题,效率如何?

以上“多线程”可以换成“互斥锁”、“信号量”等概念。

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

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

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

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

© 2021 V2EX