线程也被称为轻量级进程
Java创建线程的方法
- 继承Thread类
- 实现Runnable接口
线程引入的问题
- 安全性问题
- 活跃性问题
- 性能问题
线程的安全性与活跃性
安全性的含义是“永远不发生糟糕的事情”,而活跃性则关注于另一个指标即“某件正确的事情最终会发生”
线程安全性定义:当多个线程访问某个类时,这个类始终都能表现出正确的行为,那么就称这个类是线程安全的
线程性能问题
服务时间过长
响应不灵敏
吞吐率过低
资源消耗过高
可伸缩性较低
线程同步问题的解决方法
- 不在线程间共享该状态变量
- 将状态变量修改为不可变的变量
- 在访问状态变量时使用同步
知识点
- 无状态对象一定是线程安全的;
数据竞争:如果在访问共享的非final类型的域时没有采用同步来进行协同,那么就会出现数据竞争