Due to the current gap in continued funding from the U.S. National Science Foundation (NSF), the NSF Unidata Program Center has temporarily paused most operations. See NSF Unidata Pause in Most Operations for details.
I've tried calling destroy() on my DisplayImpls, but there are still threads running and my app won't exit. I wanted to try out destroy on a simpler piece of code, so I modified the Rivers.java example to call display.destroy(). Nothing happened. A call to Thread.activeCount() indicated that there were still 7 threads running. It seems that there must be some other threads somewhere that aren't being destroyed. I understand that I may call System.exit(), but I'm trying to capture a series of images (in a for loop), so System.exit() isn't really what I want to do. Any other suggestions or hints of where to look for these everlasting threads? Thanks. Leah On Fri, 1 Aug 2003, Bill Hibbard wrote: > Hi Leah, > > There are one or more Threads inside a DisplayImpl. You > should be able to stop them with a call to the destroy() > method of each DisplayImpl. Or just call System.exit(0). > > Good luck, > Bill > > On Fri, 1 Aug 2003, Leah Heiss wrote: > > > Hello visad-list > > > > I have another question for you regarding offscreen image rendering. > > > > I've set a up a simple class to capture my images, but the process never > > completes -- my program never exits. It seems to me that there must be > > some thread buried deep inside VisAD that isn't finishing. > > > > > > Here's the general outline of my code: > > > > public class ImageMaker{ > > > > public void main( String[] args ){ > > captureImages(); > > return; > > } > > > > private void captureImages(){ > > // create DisplayImpl > > // add data to DisplayImpl > > // call thread to capture images > > Thread thread = new ImageCapturer( DisplayImpl disp ); > > thread.start(); > > System.out.println( "All Done!" ); > > return; > > } > > > > class ImageCapturer extends Thread{ > > > > // constructor > > > > // run > > public void run(){ > > // get the image > > // write it to file > > System.out.println( "Thread Done!" ); > > } > > } > > } > > > > > > I run the code with > > > java ImageMaker > > And see... > > All Done! > > Thread Done! > > > > But the prompt never comes back. What is still running that won't let my > > program exit? > > > > > > Thanks for the help. > > > > Leah > > > > >
visad
archives: