Java线程基础

作者: 依弗布德甘 | 来源:发表于2019-12-28 14:09 被阅读0次

线程状态

  1. New 尚未启动的线程

  2. Runnable 可运行(在运行)状态,或者等待CPU调度

  3. Blocked 线程阻塞等待监视锁定状态,出于sycnhronized同步代码块或方法中被阻塞

  4. Waiting 等待其他线程通知,收到通知继续执行

    • Obejct.wait 、 Thread.join 、 LockSupport.park
  5. Timed Waiting 具有带超时时间的线程等待状态,收到通知继续执行或超时继续执行

    • Thread.sleep 、Object.wait 、Thread.join 、LockSupport.parkNanos 、LockSupport.parkUntil
  6. Terminated 线程终止状态

    • 线程终止后再调用,会抛出illegalThreadStateException异常

线程终止

  • 不正确的线程终止
    Thread.stop 弃用,强行终止无法保证线程内部执行完毕

  • 正确的线程终止

    1. Thread.interrupt
      如果线程内部有等待阻塞或挂起状态[ wait()、join()、sleep() ],Interrupt会生效,中断状态被清除,线程内部抛出InterruptedException异常
      如果线程是被I/O或者NIO中的Channel所阻塞,I/O操作会
      被中断或者返回test异常值。

    2. 使用外部标志位控制线程终止
      如:外部全局变量开关来控制线程是否结束

相关文章

  • 技术体系

    一,java核心 java基础,jvm,算法,多线程,设计模式 Java基础:java基础相关,全栈java基础 ...

  • Java多线程目录

    Java多线程目录 Java多线程1 线程基础Java多线程2 多个线程之间共享数据Java多线程3 原子性操作类...

  • android 多线程 — 线程的面试题和答案

    这里都是我从各个地方找来的资料,鸣谢: Java多线程干货系列—(一)Java多线程基础 JAVA多线程和并发基础...

  • Android中的多线程

    1. Java多线程基础 Java多线程,线程同步,线程通讯 2. Android常用线程 HandlerThre...

  • Java基础

    Java基础 集合基础 集合框架 多线程基础 多线程框架 反射 代理 集合基础 ArrayList LinkedL...

  • java多线程相关

    (一) 基础篇 01.Java多线程系列--“基础篇”01之 基本概念 02.Java多线程系列--“基础篇”02...

  • java线程入门基础(二)

    java线程入门基础(二) 一、认识Java里的线程 1.1 Java里的程序天生就是多线程的 一个Java程序从...

  • Java多线程高级特性(JDK8)

    [TOC] 一、Java多线程 1.Java多线程基础知识 Java 给多线程编程提供了内置的支持。一条线程指的是...

  • 高并发Java

    高并发Java(1):前言 高并发Java(2):多线程基础 高并发Java(3):Java内存模型和线程安全 高...

  • Java-并发编程知识点总结

    目录: 线程基础 线程池 各种各样的锁 并发容器 原子类 Java 内存模型 线程协作 AQS 框架 一、线程基础...

网友评论

    本文标题:Java线程基础

    本文链接:https://www.haomeiwen.com/subject/hwlsoctx.html