java多线程

Posted 玲珑塔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java多线程相关的知识,希望对你有一定的参考价值。

线程的生命周期

创建状态>>>>>>就绪状态 >>>>>>运行状态(线程创建后,要等待cpu时间)>>>>>>停止状态(run方法结束或者调用stop方法)

当线程再运行状态下,由于某种原因导致线程停止执行让出cpu时间,线程就进入了阻塞状态,如调用sleep方法

正确停止线程的方法,不要用线程的stop方法进行退出线程,太暴力,不管线程运行到什么状态,就是直接停。正确的方法是设置一个停止的标志,最好用boolean类型。

守护线程,相对于用户线程,是运行在后台用来给用户线程。可以用setDiamond(true)方法设置守护线程,需要注意的是,这个方法必须在start方法之前调用,否则会抛出异常,在守护线程中产生的新线程也是守护线程,不是所有任务都可以交给守护线程来做的,比如读写操作和逻辑运算

继续深入学习理解java并发知识

1.Java Memory Mode

  • JMM描述了Java线程如何通过内存进行交互
  • happens-before
  • synchronized,volatile & final

2.Lock & Condition

  • Java锁机制和等待条件的高级实现
  • java.util.concurrent.locks

3.线程的安全性

  • 原子性和可见性
  • DeadLocks

4.多线程编程常用的交互模式

  • Producer-Consumer模型
  • Read-Write Lock模型
  • Futrue模型
  • Worker Thread模型

5.java并发编程工具

java核心技术,java concurrency in practice两本书可以参考一下

以上是关于java多线程的主要内容,如果未能解决你的问题,请参考以下文章

什么是JAVA的多线程?

Java多线程 1.认识Java线程

Java多线程 5.栅栏

java 如何实现多线程

java中啥叫做线程?啥叫多线程?多线程的特点是啥

Java多线程-Java多线程概述