Skip to content

Commit 761c1a6

Browse files
authored
한글화
1 parent f6b5528 commit 761c1a6

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/effectivejava/chapter11/item79/ObservableSet.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22
import java.util.*;
33
import java.util.concurrent.CopyOnWriteArrayList;
44

5-
// Broken - invokes alien method from synchronized block!
5+
// 원소가 추가되면 알려주는 집합 (420-425쪽)
66
public class ObservableSet<E> extends ForwardingSet<E> {
77
public ObservableSet(Set<E> set) { super(set); }
88

9+
// 코드 79-1 잘못된 코드. 동기화 블록 안에서 외계인 메서드를 호출한다. (420쪽)
910
// private final List<SetObserver<E>> observers
1011
// = new ArrayList<>();
1112

@@ -28,7 +29,7 @@ public class ObservableSet<E> extends ForwardingSet<E> {
2829
// }
2930
// }
3031

31-
// // Alien method moved outside of synchronized block - open calls
32+
// // 코드 79-3 외계인 메서드를 동기화 블록 바깥으로 옮겼다. - 열린 호출 (424쪽)
3233
// private void notifyElementAdded(E element) {
3334
// List<SetObserver<E>> snapshot = null;
3435
// synchronized(observers) {
@@ -38,7 +39,7 @@ public class ObservableSet<E> extends ForwardingSet<E> {
3839
// observer.added(this, element);
3940
// }
4041

41-
// Thread-safe observable set with CopyOnWriteArrayList
42+
// 코드 79-4 CopyOnWriteArrayList를 사용해 구현한 스레드 안전하고 관찰 가능한 집합 (425쪽)
4243
private final List<SetObserver<E>> observers =
4344
new CopyOnWriteArrayList<>();
4445

@@ -65,7 +66,7 @@ private void notifyElementAdded(E element) {
6566
@Override public boolean addAll(Collection<? extends E> c) {
6667
boolean result = false;
6768
for (E element : c)
68-
result |= add(element); // Calls notifyElementAdded
69+
result |= add(element); // notifyElementAdded를 호출한다.
6970
return result;
7071
}
7172
}

0 commit comments

Comments
 (0)