From c302277e2177325659bafef17bae577555572e20 Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Fri, 23 Mar 2018 19:30:52 +0800 Subject: [PATCH] auto commit --- notes/Java 并发.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/notes/Java 并发.md b/notes/Java 并发.md index c2ac53d8..8b10ab28 100644 --- a/notes/Java 并发.md +++ b/notes/Java 并发.md @@ -223,10 +223,12 @@ interrupted() 方法在检查完中断状态之后会清除中断状态,这样 2. 同步:多个进程按一定顺序执行; 3. 通信:多个进程间的信息传递。 -互斥是对临界资源访问的一种约束条件,它防止多个进程同时对临界资源进行访问。 - 通信是一种手段,它可以用来实现同步。也就是说,通过在多个进程间传递信息,可以控制多个进程以一定顺序执行。 +而同步又可以保证互斥。即进程按一定顺序执行,可以保证在同一时刻只有一个进程能访问临界资源。但是同步不止用来实现互斥,例如生成者消费者问题,生产者和消费者进程之间的同步不是用来控制对临界资源的访问。 + +总结起来就是:通信 --> 同步 --> 互斥。 + 进程和线程在一定程度上类似,也可以用这些概念来描述。 在 Java 语言中,这些概念描述有些差别: @@ -405,10 +407,9 @@ Consumer3 is consuming product made by Consumer3... Consumer4 is consuming product made by Consumer4... ``` - # 五、线程状态转换 -

+

1. NEW(新建):创建后尚未启动的线程。 2. RUNNABLE(运行):处于此状态的线程有可能正在执行,也有可能正在等待着 CPU 为它分配执行时间。