线程基础概率复习

17 阅读1分钟

为什么学习并用好多线程极其重要!

硬件方面:

  • 摩尔定律失效了,CPU主频不再翻倍,而是采用多核而不是更快的主频

软件方面:

  • 充分利用多核处理器
  • 提高程序性能,高并发系统
  • 提高程序吞吐量,异步+回调等生产需求

弊端及问题:

  • 线程安全问题
  • 线程锁问题
  • 线程性能问题

JAVA线程的启动底层源码主要是 private native void start0()开始,本身底层就是C++语言,实质就是JVM配合操作系统,由操作系统分配了一个原生线程

Java多线程相关概念:

  • 一把锁
    • synchronized
  • 两个并
    • 并发
    • 并行
  • 三个程
    • 进程
    • 线程
    • 管程:Monitor(监视器),也就是平时所说的锁

image.png

用户线程:

一般情况下不做特别说明配置,默认都是用户线程。是系统的工作线程,它会完成这个程序需要完成的业务操作。

守护线程:

是一种特殊的线程为其他线程服务的,在后台默默地完成一些系统性地服务。比如垃圾回收。当系统只剩守护线程地时候,java虚拟机会自动退出