Looking for a sponsor to review changes made to two unit tests under jdk/test

David Holmes david.holmes at oracle.com
Mon Apr 8 23:28:48 UTC 2013


On 8/04/2013 9:59 PM, Mani Sarkar wrote:
> Thanks Alan, David for your feedback.
>
> So effectively you are saying the Thread.sleep(10) is fine in the test
> and does not need to be re-written using any of the concurrency library
> methods.

As I wrote back in one of my earliest emails:

"that aside the latch is not needed. The fork() method starts a thread 
and joins it. So when createNoise() returns we already know for certain 
that the "noise has been created". What the sleep is doing is giving the 
GC a chance to run. "

The sleep has nothing to do with synchronizing with the "noise" thread. 
And synchronization with the "noise" thread is already handled perfectly 
correctly.

David
-----

>
> Cheers,
> mani
>
> On Mon, Apr 8, 2013 at 12:20 PM, David Holmes <david.holmes at oracle.com
> <mailto:david.holmes at oracle.com>> wrote:
>
>     Mani,
>
>     Please go back to my original response. As Alan has just re-stated
>     we do not need a latch or a semaphore here because we already do a
>     join on the thread. As I have said the sleep is to allow the GC a
>     chance to run (eg finalizer and/or reference processor thread).
>
>     David
>
>
>     On 8/04/2013 8:53 PM, Mani Sarkar wrote:
>
>         We initially introduced CountdownLatch and now Semaphore, to
>         replace the
>         Thread.sleep(10) which took place before - what appears to be a
>         forced GC
>         (am I right?):
>
>                        System.err.println("GC " + i);
>                        System.gc();
>                        System.runFinalization();
>
>         As the threads join at the ends of the other, then we can do
>         away with the
>         Semaphore but how would we simulate the 10ms pause before the
>         forced GC -
>         is that necessary? Can we still use Semaphores to implement pauses?
>
>         Cheers,
>         mani
>
>         On Mon, Apr 8, 2013 at 11:07 AM, Alan Bateman
>         <Alan.Bateman at oracle.com <mailto:Alan.Bateman at oracle.com>>__wrote:
>
>             On 08/04/2013 10:39, Mani Sarkar wrote:
>
>                 Hi David,
>
>                 Here's the version of
>                 *jdk8_tl/jdk/**test/java/lang/__**ref/Basic.java*implemented
>                 using a
>                 Semaphore:
>
>                    Hi Mani,
>
>
>             Is there a handshake really needed here? From a quick look
>             at the test
>             then it looks to me that fork (used by createNoise) does a
>             Thread.join so
>             it waiting until the task is complete before it returns.
>
>             -Alan
>
>
>
>
>
>
>
> --
> *Twitter:* @theNeomatrix369
> *Blog:* http://neomatrix369.wordpress.com
> *JUG activity:* LJC Advocate (@adoptopenjdk & @adoptajsr programs)
> *Meet-a-Project:* https://github.com/MutabilityDetector
> *Devoxx UK 2013 was a grand success:*
> http://www.devoxx.com/display/UK13/Home
> */Don't chase success, rather aim for "Excellence", and success will
> come chasing after you!/*



More information about the core-libs-dev mailing list