多线程与高并发-part1

进程和线程

  1. 进程:是计算机中的程序关于某数据集合上的一次运行活动,是操作系统进行资源分配与调度的基本单位。(简单理解:正在操作系统中运行的一个程序)
  2. 线程:是线程的一个执行单位,一个线程就是进程中一个单一顺序的控制流,进程的一个执行分支。
  3. 主线程:JVM启动的时候回创建一个主线程,该主线程负责执行main方法。主线程就是运行main方法的线程。
  4. 子线程:A线程中创建了B线程,B线程就是A线程的子线程。

线程的创建与启动

  1. 创建一个线程就是创建一个Thread类(子类)的对象实例。
  2. Thread类两个常用构造方法:Thread()和Thread(Runnable),前者定义Thread类的子类,后者顶一个Runnable接口的实现类。

线程的生命周期

  1. 线程的生命周期是线程对象的生老病死。
  2. 线程生命周期可以通过fetState()方法获得,线程的状态是Thread.State枚举类型定义的
  3. 线程几种状态:
    1. NEW(新建)
    2. RUNNABLE(可运行)
    3. BLOCKED(阻塞)
    4. WAITING(等待)
    5. TIMED_WAITING:与WAITING类似,区别在于处于该状态的线程不会无限的等待,如果线程没有在指定时间范围内完成期望的操作,该线程自动转换为RUNNABLE
    6. TERMINATED(终止)

多线程的优势与问题

  1. 优势
    1. 提高系统吞吐率
    2. 提高响应
    3. 充分利用多核处理器资源
  2. 风险
    1. 线程安全
    2. 线程活性:
      1. 死锁
      2. 锁死
      3. 活锁
      4. 饥饿
  3. 上下文切换
  4. 可靠性。
posted @ 2021-09-20 23:07  云鸽  阅读(38)  评论(0)    收藏  举报