进程:一个应用有一个进程,进程拥有自己独立的内存空间,一个进程可以有多个线程;比如任务管理器看到的每一个应用就是进程,windows下一个exe就是一个进程,
线程:进程下执行的一个流程就是线程,和所属进程共享内存
线程池:对线程的创建,管理,错误执行的策略;此处说一下spring有一个自己的线程池ThreadPoolTaskExecutor,log写的很好
多线程初级学习路线如下:
Java线程:概念与原理
Java线程:创建与启动
Java线程:线程栈模型与线程的变量
Java线程:线程状态的转换
Java线程:线程的同步与锁
Java线程:线程的交互
Java线程:线程的调度-休眠
Java线程:线程的调度-优先级
Java线程:线程的调度-让步
Java线程:线程的调度-合并
Java线程:线程的调度-守护线程
Java线程:线程的同步-同步方法
Java线程:线程的同步-同步块
Java线程:并发协作-生产者消费者模型
Java线程:并发协作-死锁
Java线程:volatile关键字
Java线程:新特征-线程池
Java线程:新特征-有返回值的线程
Java线程:新特征-锁(上)
Java线程:新特征-锁(下)
Java线程:新特征-信号量
Java线程:新特征-阻塞队列
Java线程:新特征-阻塞栈
Java线程:新特征-条件变量
Java线程:新特征-原子量
Java线程:新特征-障碍器
3多线程:一般应用场景为并发场合,多个线程协同处理大量的请求。需要注意的是变量是否会被多次重写(jvm副本),线程同步(针对的是类的对象还是类对象);
参考资料:
以上学习路线的代码:https://blog.51cto.com/lavasoft/27069
类对象和类的对象区别:https://blog.csdn.net/zzy372219506/article/details/90934987
线程池:https://blog.csdn.net/GFJ0814/article/details/92422245