线程小记

简介: 线程小记

1、造成线程阻塞的方法?


阻塞线程的方法:join、yield、sleep 和Object的wait()方法


2、Java的守护进程(后台进程)?


设置线程为后台进程运行:setDaemon(true) 如果一个进程中只有后台线程在运行,这个进程就会结束。


3、造成线程阻塞后,线程回到哪个状态了?


通过join、yield、sleep造成线程阻塞后是回到了就绪状态


3、哪些状态之后是回到就绪状态?


a)通过join、yield、sleep造成线程阻塞后是回到了就绪状态


b)遇到synchronized后


c)遇到Object的等待wait方法后


4、sleep会释放锁吗?


sleep不会释放锁【它会抱着锁睡觉】


5、线程都有哪些状态?具体是怎么运行的?


线程有:创建、就绪、运行、阻塞、终止。5种状态


1.通过new关键字创建后,进入到新生状态


2.调用start后进入就绪状态


3.CPU调度到本线程后,本线程开始执行。进入到运行状态


4.运行中遇到join,yield,sleep造成阻塞,进入阻塞状态。阻塞完成后,又回到就绪状态


5.线程正常执行完,或者遇到异常终止后,进入死亡状态


6、终止线程有哪几种方法?


线程调用 stop()方法、destory()方法或 run()方法执行结束后,线程即处于死亡状态。处于死亡状态的线程不具有继续运行的能力。


关于线程调度的,我推荐可以去了解下ReentrantLock 重入锁配合Condition使用,非常不错。 后面有时间我也会写个重入锁的简单使用介绍。


相关文章
|
9月前
|
Java Linux API
线程的认识
线程的认识
|
8月前
|
NoSQL Java 应用服务中间件
线程不够用怎么办?
### 并发编程挑战与解决方案概览 - 多线程导致线程爆炸,浪费CPU及可能导致JVM崩溃。线程池缓解问题,但仍有阻塞IO的效率低下。 - 非阻塞IO(如servlet3.1/Tomcat)和事件驱动(Reactive/Future)减少线程使用,但学习曲线陡峭。 - 轻量级线程如Netty、Spring Flux和虚拟线程(Java Loom)提升性能,但普及尚需时日。Java21引入虚拟线程,有望成未来性能关键。
261 10
|
Java C语言 Python
线程那些事
线程那些事
61 0
|
9月前
|
存储 安全 Java
C++线程浅谈
C++线程浅谈
|
Java Linux 调度
03.关于线程你必须知道的8个问题(中)
大家好,我是王有志,欢迎来到《Java面试都问啥?》。我们书接上回,继续聊Java面试中关于线程的问题。
90 1
03.关于线程你必须知道的8个问题(中)
|
算法 NoSQL Java
02.关于线程你必须知道的8个问题(上)
大家好,我是王有志,欢迎来到《Java面试都问啥?》。 今天我们来一起看看在面试中,关于线程各大公司大都喜欢问哪些问题。
122 1
02.关于线程你必须知道的8个问题(上)
|
Java
线程理解
个人学习理解
88 0
|
传感器 存储 自动驾驶
(6)线程
(6)线程
127 0
|
Java 编译器 Linux
初识 线程
初识 线程
117 0
初识 线程

相关实验场景

更多