equal
deleted
inserted
replaced
36 import java.lang.invoke.VarHandle; |
36 import java.lang.invoke.VarHandle; |
37 import java.util.concurrent.CountDownLatch; |
37 import java.util.concurrent.CountDownLatch; |
38 import java.util.concurrent.ForkJoinPool; |
38 import java.util.concurrent.ForkJoinPool; |
39 import java.util.concurrent.ForkJoinTask; |
39 import java.util.concurrent.ForkJoinTask; |
40 import java.util.concurrent.Future; |
40 import java.util.concurrent.Future; |
41 import java.util.concurrent.ThreadLocalRandom; |
|
42 import java.util.stream.Stream; |
41 import java.util.stream.Stream; |
43 |
42 |
44 import junit.framework.Test; |
43 import junit.framework.Test; |
45 import junit.framework.TestSuite; |
44 import junit.framework.TestSuite; |
46 |
45 |
79 assertTrue(ForkJoinTask.inForkJoinPool()); |
78 assertTrue(ForkJoinTask.inForkJoinPool()); |
80 assertSame(ForkJoinPool.commonPool(), ForkJoinTask.getPool()); |
79 assertSame(ForkJoinPool.commonPool(), ForkJoinTask.getPool()); |
81 Thread currentThread = Thread.currentThread(); |
80 Thread currentThread = Thread.currentThread(); |
82 |
81 |
83 Stream.of(systemClassLoader, null).forEach(cl -> { |
82 Stream.of(systemClassLoader, null).forEach(cl -> { |
84 if (ThreadLocalRandom.current().nextBoolean()) |
83 if (randomBoolean()) |
85 // should always be permitted, without effect |
84 // should always be permitted, without effect |
86 currentThread.setContextClassLoader(cl); |
85 currentThread.setContextClassLoader(cl); |
87 }); |
86 }); |
88 |
87 |
89 Stream.of(currentThread.getContextClassLoader(), |
88 Stream.of(currentThread.getContextClassLoader(), |