> >Daemon threads are service providers for other threads running in the > same > >process as the daemon thread. The run() method for a daemon thread is > >typically an infinite loop that waits for a service request. > >When the only remaining threads in a process are daemon threads, the > >interpreter exits. This makes sense because when only daemon threads > remain, > >there is no other thread for which a daemon thread can provide a service. > >In general, threads that run application code are not daemon thread, and > >threads that run system code are daemon threads. Eg. the garbage > collector > >is a daemon thread. > > Yes ' i know but that does not help with the problem we have > Are you against using the daemon threads and for using shutdown > hooks/stopping threads by hand?
I am against using shutdown hooks/stopping threads by hand. MMBaseProbe, MMServerProbe, ModuleProbe, JDBCProbe, ImageRequestProcessor and FileWatcher are all threads which provide services for the MMBase system. To be exact every long-running-with-sleep thread started by MMBase has to be a daemon thread, IMO. Nico Klasens Finalist IT Group Java Specialists
