Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
月凉、
JavaGuide
提交
a2479a77
J
JavaGuide
项目概览
月凉、
/
JavaGuide
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
JavaGuide
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
a2479a77
编写于
9月 26, 2021
作者:
G
guide
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update Java并发基础常见面试题总结.md
上级
078f4aec
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
2 addition
and
2 deletion
+2
-2
docs/java/multi-thread/Java并发基础常见面试题总结.md
docs/java/multi-thread/Java并发基础常见面试题总结.md
+2
-2
未找到文件。
docs/java/multi-thread/Java并发基础常见面试题总结.md
浏览文件 @
a2479a77
...
...
@@ -153,7 +153,7 @@ Java 线程在运行的生命周期中的指定时刻只可能处于下面 6 种
![
RUNNABLE-VS-RUNNING
](
https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-3/RUNNABLE-VS-RUNNING.png
)
当线程执行
`wait()`
方法之后,线程进入
**WAITING(等待)**
状态。进入等待状态的线程需要依靠其他线程的通知才能够返回到运行状态,而
**TIME
_WAITING(超时等待)**
状态相当于在等待状态的基础上增加了超时限制,比如通过
`sleep(long millis)`
方法或
`wait(long millis)`
方法可以将 Java 线程置于 TIMED
WAITING 状态。当超时时间到达后 Java 线程将会返回到 RUNNABLE 状态。当线程调用同步方法时,在没有获取到锁的情况下,线程将会进入到
**BLOCKED(阻塞)**
状态。线程在执行 Runnable 的
`run()`
方法之后将会进入到
**TERMINATED(终止)**
状态。
当线程执行
`wait()`
方法之后,线程进入
**WAITING(等待)**
状态。进入等待状态的线程需要依靠其他线程的通知才能够返回到运行状态,而
**TIME
D_WAITING(超时等待)**
状态相当于在等待状态的基础上增加了超时限制,比如通过
`sleep(long millis)`
方法或
`wait(long millis)`
方法可以将 Java 线程置于 TIMED_
WAITING 状态。当超时时间到达后 Java 线程将会返回到 RUNNABLE 状态。当线程调用同步方法时,在没有获取到锁的情况下,线程将会进入到
**BLOCKED(阻塞)**
状态。线程在执行 Runnable 的
`run()`
方法之后将会进入到
**TERMINATED(终止)**
状态。
相关阅读:
[
挑错 |《Java 并发编程的艺术》中关于线程状态的三处错误
](
https://mp.weixin.qq.com/s/UOrXql_LhOD8dhTq_EPI0w
)
。
...
...
@@ -250,7 +250,7 @@ Thread[线程 2,5,main]waiting get resource1
避免死锁就是在资源分配时,借助于算法(比如银行家算法)对资源分配进行计算评估,使其进入安全状态。
**安全状态**
指的是系统能够按照某种进行
推进顺序(P1、P2、P3.....Pn)来为每个进程分配所需资源,直到满足每个进程对资源的最大需求,使每个进程都可顺利完成。称
<P1
、
P2
、
P3.....Pn
>
序列为安全序列。
**安全状态**
指的是系统能够按照某种进程
推进顺序(P1、P2、P3.....Pn)来为每个进程分配所需资源,直到满足每个进程对资源的最大需求,使每个进程都可顺利完成。称
<P1
、
P2
、
P3.....Pn
>
序列为安全序列。
我们对线程 2 的代码修改成下面这样就不会产生死锁了。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录