分享人:茹程远
1.背景介绍
2.知识剖析
3.常见问题
4.配置展示
5.扩展思考
6.参考文献
7.更多讨论
线程
进程中负责程序执行的执行单元 线程本身依靠程序进行运行
进程
执行中的程序一个进程至少包含一个线程
多线程有什么用?
发挥多核CPU的优势
防止阻塞
线程的实现
继承Thread类
实现Runnable接口
使用ExecutorService、Callable、Future实现有返回结果的多线程
线程的状态
创建(new)状态: 准备好了一个多线程的对象
就绪(runnable)状态: 调用了start()方法, 等待CPU进行调度
运行(running)状态: 执行run()方法
阻塞(blocked)状态: 暂时停止执行, 可能将资源交给其它线程使用
终止(dead)状态: 线程销毁
源码
上下文切换
对于线程的上下文切换实际上就是 存储和恢复CPU状态的过程,它使得线程执行能够从中断点恢复执行。
上下文的切换开销也很重要,如果你创建了太多的线程,CPU 花费在上下文的切换的时间将多于执行程序的时间!
http://www.runoob.com/java/java-multithreading.html
https://www.cnblogs.com/lwbqqyumidi/p/3804883.html
https://zhuanlan.zhihu.com/p/26441926
http://www.importnew.com/21136.html
欢迎大家讨论