From: Brian Jones <cbj@gnu.org>
To: Patrick Ellis <Patrick.Ellis@sas.com>
Cc: mauve-discuss@sources.redhat.com
Subject: Re: Question about Thread.sleep(1000) in java.io.PipedStream close.java code
Date: Tue, 14 Oct 2003 12:37:00 -0000 [thread overview]
Message-ID: <m3d6d0hufe.fsf@lyta.haphazard.org> (raw)
In-Reply-To: <F2E670D5036BE14E89473A3FAEDE6ACE429013@merc18.na.sas.com>
Patrick Ellis <Patrick.Ellis@sas.com> writes:
> I have a question about the Thread.sleep(1000) command in the
> close.java code. The delay does not seem long enough On an R64
> machine that I'm testing. When I change the code to
> Thread.sleep(100) the code seems to delay long enough for execute
> the code. Is this correct ?
I think the sleep mechanism can be replaced by a wait in the test
thread and a notify in the main thread. On the whole, I don't
understand why lowering the sleep value to 100 from 1000 milliseconds
would help.
Brian
>
> 1 // Tags: JDK1.0
> 2
> 3 // This test is from Jeff Sturm.
> 4 // It tests whether close() on a PipedInputStream will correctly
> 5 // notify the writer.
> 6
> 7 package gnu.testlet.java.io.PipedStream;
> 8
> 9 import gnu.testlet.Testlet;
> 10 import gnu.testlet.TestHarness;
> 11 import java.io.*;
> 12
> 13 public class close implements Runnable, Testlet {
> 14 Thread main;
> 15 PipedInputStream in;
> 16 PipedOutputStream out;
> 17 TestHarness harness;
> 18
> 19 public void run() {
> 20 try {
> 21 Thread.sleep(1000);
> 22 harness.debug("Closing pipe input stream:");
> 23 in.close();
> 24 Thread.sleep(1000);
> 25 harness.debug("Interrupting pipe reader:");
> 26 main.interrupt();
> 27 } catch (Throwable t) {
> 28 harness.debug(t);
> 29 }
> 30 }
> 31
> 32 public void test (TestHarness harness) {
> 33 int val = 23;
> 34 try {
> 35 close test = new close();
> 36 test.harness = harness;
> 37
> 38 test.main = Thread.currentThread();
> 39 test.out = new PipedOutputStream();
> 40 test.in = new PipedInputStream(test.out);
> 41
> 42 (new Thread(test)).start();
> 43
> 44 val = test.in.read();
> 45 } catch (InterruptedIOException t) {
> 46 harness.check(true,"read() interrupted okay");
> 47 } catch (IOException t) {
> 48 harness.fail("Unexpected IOException thrown");
> 49 }
> 50 }
> 51 }
>
> Pat Ellis
> SAS Tools, Testing & Validation
> Phone: (919) 531-0355
> R2263 Patrick.Ellis@sas.com
> SAS... The Power to Know
>
>
--
Brian Jones <cbj@gnu.org>
prev parent reply other threads:[~2003-10-14 12:37 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-09-19 20:41 Patrick Ellis
2003-10-14 12:37 ` Brian Jones [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m3d6d0hufe.fsf@lyta.haphazard.org \
--to=cbj@gnu.org \
--cc=Patrick.Ellis@sas.com \
--cc=mauve-discuss@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).