Subject: Re: [Biojava-l] BLAST from Java

Tony Obermeit
Thu, 21 Feb 2002 05:55:44 +1000

Thomas Down wrote
 > I'm not a Windows user. But one thing which occurs to
 > me: you're handling the output of the process on the same
 > thread as the Process itself. I always use separate threads
 > (I don't know if this is the `official' way of doing things,
 > but it's a pragmatic approach which always seems to be reliable):

I've written code using Runtime.getRuntime().exec which used the same 
thread for handling the standard output and standard error.  This code 
worked fine on a linux platform.  When I tried it under windows, it 
failed.  I ended up having to create a separate thread for handing the 
standard output and standard errors.  It seemed to be a problem only when 
the output of either was more than a small number of characters (80 or 100 
from memory).  Once I rewrote the code to use separate threads, it ran fine 
on both operating systems.  I can dig into my code archive to send a 
snippet of what it took to get the multiple threads working if 
required.  It will take me a day or two to dig it up, just let me know if 
you want it.