30 * @run main/othervm -XX:+AggressiveOpts -Dthorough=true LockStep |
30 * @run main/othervm -XX:+AggressiveOpts -Dthorough=true LockStep |
31 * @author Martin Buchholz |
31 * @author Martin Buchholz |
32 * @key randomness |
32 * @key randomness |
33 */ |
33 */ |
34 |
34 |
35 import java.io.*; |
35 import java.io.ByteArrayInputStream; |
36 import java.util.*; |
36 import java.io.ByteArrayOutputStream; |
37 import java.util.concurrent.*; |
37 import java.io.IOException; |
38 import static java.util.Collections.*; |
38 import java.io.InputStream; |
|
39 import java.io.NotSerializableException; |
|
40 import java.io.ObjectInputStream; |
|
41 import java.io.ObjectOutputStream; |
|
42 import java.io.Serializable; |
|
43 import java.util.Arrays; |
|
44 import java.util.Collection; |
|
45 import java.util.Collections; |
|
46 import java.util.Comparator; |
|
47 import java.util.HashSet; |
|
48 import java.util.Iterator; |
|
49 import java.util.List; |
|
50 import java.util.Map; |
|
51 import java.util.NavigableMap; |
|
52 import java.util.NavigableSet; |
|
53 import java.util.NoSuchElementException; |
|
54 import java.util.Random; |
|
55 import java.util.Set; |
|
56 import java.util.TreeMap; |
|
57 import java.util.TreeSet; |
|
58 import java.util.concurrent.ConcurrentSkipListMap; |
|
59 import java.util.concurrent.ConcurrentSkipListSet; |
|
60 |
|
61 import static java.util.Collections.reverseOrder; |
|
62 import static java.util.Collections.singleton; |
|
63 import static java.util.Collections.singletonMap; |
39 |
64 |
40 @SuppressWarnings("unchecked") |
65 @SuppressWarnings("unchecked") |
41 public class LockStep { |
66 public class LockStep { |
42 static final int DEFAULT_SIZE = 5; |
67 static final int DEFAULT_SIZE = 5; |
43 static int size; // Running time is O(size**2) |
68 static int size; // Running time is O(size**2) |