< prev index next > test/jdk/com/sun/management/HotSpotDiagnosticMXBean/DumpThreadsWithEliminatedLock.java
Print this page
import java.lang.management.ManagementFactory;
import java.nio.file.Files;
import java.nio.file.Path;
import java.time.Instant;
import java.util.List;
+ import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Stream;
import com.sun.management.HotSpotDiagnosticMXBean;
VThreadRunner.ensureParallelism(2);
}
// A thread that spins creating and adding to a StringBuffer. StringBuffer is
// synchronized, assume object will be scalar replaced and the lock eliminated.
+ var started = new CountDownLatch(1);
var done = new AtomicBoolean();
var ref = new AtomicReference<String>();
Thread thread = factory.newThread(() -> {
+ started.countDown();
while (!done.get()) {
StringBuffer sb = new StringBuffer();
sb.append(System.currentTimeMillis());
String s = sb.toString();
ref.set(s);
}
});
try {
thread.start();
+ started.await();
if (plain) {
testPlainFormat();
} else {
testJsonFormat(thread.threadId());
}
< prev index next >