On 11/5/2013 5:07 PM, David Holmes wrote:
Thanks Mandy.

One minor nit:

Having goSleep be an instance method on ThreadStateController makes the usage look weird:

  thread.goSleep(10); // actually makes current thread go sleep


Good catch. I changed it to a static pause(long ms) method. Changeset pushed.

thanks for the review.
Mandy


I suggest making it static and use static import to shorten the call site :)

If you do change that, no need for re-review.

David

On 6/11/2013 7:58 AM, Mandy Chung wrote:
On 11/4/2013 8:42 PM, David Holmes wrote:
This looks good to me. One nit that caused me some confusion - it took
me a while to realize that in transitionTo eg:

 221     public void transitionTo(Thread.State tstate) throws
InterruptedException {
 222         switch (tstate) {
 223             case RUNNABLE:
 224                 nextState(RUNNABLE);
 225                 break;

The case value, eg RUNNABLE, and the arg to nextState, eg RUNNABLE,
are two completely different values! Can I suggest using S_xxx for the
int states (why not an enum?).


Good suggestion to rename them.  I considered adding an enum class that
might confuse with Thread.State enum and so decided to leave them as it is.

Typo: awaitArrive should be awaitAdvance

Fixed.

This updated webrev also fixes ThreadMXBeanStateTest to retry getting
ThreadInfo and improves the formatting of the output and include thread
ID in the output:
http://cr.openjdk.java.net/~mchung/jdk8/webrevs/8022208/webrev.03/

This version has got 1000 successful runs of both tests with and without
-Xcomp.

thanks for the review.
Mandy

Reply via email to