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多线程的主要内容,如果未能解决你的问题,请参考以下文章