多线程并不能提高程序的执行效率,而是提高程序被cup加载的使用概率 , 多线程并不是并行执行;
--------------------------------------------------------------------------------------------------多线程:指的是这个程序(一个进程)运行时产生了不止一个线程并行与并发:并行:多个cpu实例或者多台机器同时执行一段处理逻辑,是真正的同时。并发:通过cpu调度算法,让用户看上去同时执行,实际上从cpu操作层面不是真正的同时。并发往往在场景中有公用的 资源,那么针对这个公用的资源往往产生瓶颈,我们会用TPS或者QPS来反应这个系统的处理能力。--------------------------------------------------------------------------------------------------线程的调度与控制: 线程的调度模型分为: 分时调度模型和抢占式调度模型,Java使用抢占式调度模型 - 分时调度模型: 所有线程轮流使用CPU的使用权,平均分配每个线程占用CPU的时间片 抢占式调度模型: 优先让优先级高的线程使用CPU,如果线程的优先级相同,那么会随机选择一个,优先级高的线程获取的CPU时间片相对多一些.--------------------------------------------------------------------------------------------------如何避免死锁: 将相同的资源,可能会产生死锁的资源打包成一组,放在一个公共的锁里面!--------------------------------------------------------------------------------------------------