a thread that is kept live for the duration of the server's life and is only terminated when the server is stopped
a thread that runs continuously to perform a service, without having any connection with the overall state of the program
a thread that runs for the benefit of other threads
A thread that performs housekeeping (such as garbage collection) and other background tasks that probably do not contribute to the application's main work but are necessary for the application to continue its main work.