学习笔记:为什么需要多线程?
CPU/内存/IO的巨大性能差异;(cpu/内存太快了,io太慢了)
多和cpu的发展;
线程的本质是一个可执行代码的工人。(多一个线程就相当于jvm里面多了一个可以看代码然后执行工作的工人,并且多个工人可以同时进行工作)
优点:多个执行流,并发执行。
缺点:
占用资源:每个线程有独立的方法栈。
慢:切换上下文典型值1us vs 0.3ns/cycle。
能不能让上下文切换尽可能少?
协程——用户态线程(不切换cpu,多内容在同一个cpu内执行,要这么做需要自己重写一个调度器。
原创
2020-09-21 12:37:23 ·
162 阅读 ·
0 评论