wesley chun wrote: >>> "The entire Python program exits when no active non-daemon threads >>> are left." >> why do you recommend the use of daemons here? >> Wouldn't that just leave a load of silently running daemon >> threads eating up resources after the main program finishes? >> I don't see the logic of that one? I'd have thought you wanted >> to be sure all application threads died when the app died? >> >> What am I missing? > > > are you missing something? :-) i think there is a distinction bewteen > a daemon/server process and daemon threads. i don't think that daemon > threads are spawned to a different process, save perhaps the ones > started from C. > > i believe that as soon as there are only daemon threads left (a > complementary statement to the doc line above for Thread objects), the > Python interpreter will exit, killing them all. i think Python threads > are very similar to Java threads, but i'll let the thread experts > chime in here.
Yes, that is correct. Daemon threads won't block the program from exiting. They will be stopped when the program exits - they are not separate processes. However for the OP's application which is running calculations in the background in a GUI application, the threads will probably be created as needed and will end when the calculation is done. Unless the calculation is long enough that you want to be able to exit the app before the calculation completes, the thread doesn't really need to be a daemon. Kent _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor