yiguolei commented on code in PR #59569:
URL: https://github.com/apache/doris/pull/59569#discussion_r2664368915
##########
fe/fe-core/src/main/java/org/apache/doris/common/MarkedCountDownLatch.java:
##########
@@ -24,73 +24,143 @@
import java.util.List;
import java.util.Map.Entry;
import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
-public class MarkedCountDownLatch<K, V> extends CountDownLatch {
+public class MarkedCountDownLatch<K, V> {
+
+ private final Object lock = new Object();
private Multimap<K, V> marks;
private Multimap<K, V> failedMarks;
private Status st = Status.OK;
private int markCount = 0;
+ private CountDownLatch downLatch;
public MarkedCountDownLatch(int count) {
- super(count);
this.markCount = count;
+ this.downLatch = new CountDownLatch(count);
+ marks = HashMultimap.create();
+ failedMarks = HashMultimap.create();
+ }
+
+ public MarkedCountDownLatch() {
marks = HashMultimap.create();
failedMarks = HashMultimap.create();
+ markCount = 0;
+ downLatch = null;
}
public int getMarkCount() {
return markCount;
}
- public synchronized void addMark(K key, V value) {
- marks.put(key, value);
+ public long getCount() {
+ synchronized (lock) {
Review Comment:
这个lock,跟直接在函数上加synchronized 修饰有什么区别?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]