1. Java 协程(coroutine)
Java 编写程序都运行在在 Java 虚拟机(JVM)中,在 JVM 的内部,程序的多任务是通过线程来实现的。 多线程: java web
1.1. 说明
- 单线程控制权交替
- 协程的好处是减少上下文的切换,用户态线程 你敢开1w个协程跑,你开1w个线程试试,光上下文切换就是一比不小的开销 他底层一般还是多线程之类在调度
IO密集型应用: 多进程->多线程->事件驱动->协程 CPU密集型应用:多进程-->多线程
1.2. 使用
- Java and Kotlin 使用 Quasar 实现协程
- Kotlin 协程
- Java 的 Future
1.3. 阻塞
- I\O: 网络请求等待,读写文件
- CPU: 计算