Java多线程

接触线程的开始

为什么多线程这么重要?

  1. 摩尔定律失效,CPU主频从2003年不再翻倍;
  2. 在主频不再提高且核数在不断增加的情况下,要想让程序更快就要用到并行或并发编程。
  3. 高并发系统:异步+回调

多线程相关概念

  1. 进程:是程序的⼀次执⾏,是系统进⾏资源分配和调度的独⽴单位,每⼀个进程都有它⾃⼰的内存空间和系统资源
  2. 线程:在同⼀个进程内⼜可以执⾏多个任务,⽽这每⼀个任务我们就可以看做是⼀个线程;
  3. 管程:Monitor(监视器),也就是我们平时所说的锁

并发 | 并行

  • 并发,指的是多个事情,在同一时间段内同时发生了。
  • 并行,指的是多个事情,在同一时间点上同时发生了。并发的多个任务之间是互相抢占资源的。 并发编程的目标是充分的利用处理器的每一个核,以达到最高的处理性能。并行的多个任务之间是不互相抢占资源的、只有在多 CPU 的情况中,才会发生并行。
具体实现
  1. 在高内聚低耦合的条件下,线程 操作 资源类
  2. 判断/干活/通知
  3. 防止虚假唤醒(判断只能用while,不能用if)
    • 知识小总结:多线程编程套路+while判断+新版写法
  4. 标志位
-------------本文结束感谢您的阅读-------------