From ca83cc7bd59f8b0040bceb860a0f526ae71643d1 Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Thu, 29 Mar 2018 15:35:23 +0800 Subject: [PATCH] auto commit --- notes/Java 并发.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/notes/Java 并发.md b/notes/Java 并发.md index f3036ed4..f87a0dba 100644 --- a/notes/Java 并发.md +++ b/notes/Java 并发.md @@ -548,7 +548,7 @@ join() 方法返回先行发生于 Thread 对象的结束。 # 八、线程安全 -> 当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象是线程安全的。---- Java Concurrency In Practice +当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象是线程安全的。 《Java Concurrency In Practice》 ## 线程安全分类 @@ -678,7 +678,7 @@ ABA :如果一个变量 V 初次读取的时候是 A 值,它的值被改成 要保证线程安全,并不是一定就要进行同步,两者没有因果关系。同步只是保证共享数据争用时的正确性的手段,如果一个方法本来就不涉及共享数据,那它自然就无须任何同步措施去保证正确性,因此会有一些代码天生就是线程安全的。 -**可重入代码(Reentrant Code)* +**可重入代码(Reentrant Code)** 这种代码也叫做纯代码(Pure Code),可以在代码执行的任何时刻中断它,转而去执行另外一段代码(包括递归调用它本身),而在控制权返回后,原来的程序不会出现任何错误。相对线程安全来说,可重入性是更基本的特性,它可以保证线程安全,即所有的可重入的代码都是线程安全的,但是并非所有的线程安全的代码都是可重入的。