import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CountDownLatch;
import java.util.stream.Collectors;
import cn.hutool.core.date.StopWatch;
public class Test {
public static void main(String[] args) {
StopWatch sw = new StopWatch();
sw.start();
CountDownLatch countDownLatch = new CountDownLatch(1000);
LatchThread latchThread = new LatchThread(countDownLatch);
for (int j = 1; j <= 100; j++) {
new Thread(latchThread, "thread" + j).start();
}
try {
countDownLatch.await();
} catch (InterruptedException e) {
e.printStackTrace();
}
sw.stop();
System.out.println(sw.prettyPrint());
}
}
class LatchThread implements Runnable {
private CountDownLatch latch;
public LatchThread(CountDownLatch l) {
latch = l;
}
@Override
public void run() {
synchronized (this) {
try {
List<String> ss = new ArrayList<>();
ss.add("gewfsdf");
ss.add("hreggd");
ss.add("fwefgfd");
ss.add("f4trhdg");
ss.add("yyyy");
ss.add("sdgdsgs");
ss.add("yydsd");
// ss.removeIf(s -> s.contains("yy"));
ss = ss.stream().filter(s -> !s.contains("yy")).collect(Collectors.toList());
} finally {
latch.countDown();
}
}
}
}