"İşte yeni ve ilginç bir konu."

"Farklı modlarda ileti dizisi başlatabileceğiniz ortaya çıktı."

"Ana iş parçacığı işini bitirdiğinde standart bir program (yalnızca bir iş parçacığına sahip) çalışmayı durdurur. Ana iş parçacığı çalışmayı bitirir, program sonlandırılır ve JVM belleğini boşaltır."

"Bir alt iş parçacığı başlatırsak, ana iş parçacığı bitse bile program çalışmaya devam eder. Çalışan en az bir iş parçacığı olduğu sürece JVM sona ermez. Çalışan tüm iş parçacıkları bittiğinde program kapanır."

"Eh, büyük programların genellikle, işi programın diğer bölümlerine hizmet vermek olan sözde 'hizmet dizileri' vardır. Kendi başlarına gerekli değildirler. Örneğin: kullanılmayan nesneleri (çöp toplama), bellek dökümlerini ve hataları kaldırmak günlük kaydı, mevcut program durumu hakkında çeşitli raporlar vb.

"Bu hizmet iş parçacıkları program çalışırken gereklidir, ancak kendi başlarına gerekli değildir."

"Evet bunu anladım."

"Java, bir iş parçacığını arka plan programı olarak çalıştırmanıza izin verir. Bu tür iş parçacıkları diğerleri gibi çalışır, ancak bir programdaki arka plan programı olmayan tüm iş parçacıkları sona ererse ve yalnızca arka plan programı iş parçacıkları kalırsa, JVM programı kapatır."

"Öyleyse bir 'hizmet' ileti dizisini bildirmek, program sonlandırıldığında dikkate alınmadığı anlamına gelir. Hepsi bu kadar mı?"

"Uhhhh... Kesinlikle çok kısa ve tatlı söyledin. Esasen, sana söylemek istediğim buydu."

"Kısacası bir yetenektir. Ve yetenekli robotlar her konuda yeteneklidir."

"Sorusu olan?"

"Bir arka plan programı olarak bir iş parçacığını nasıl başlatırsınız? Bazı DaemonThread sınıflarından miras mı?"

"Hayır, bundan çok daha basit. Thread sınıfının bir setDaemon(boolean) yöntemi vardır. Yalnızca true olarak iletmeniz yeterlidir ve bu kadar. Start() yöntemini çağırmadan önce, gerçek iş parçacığı açılmadan önce onu çağırmanız yeterlidir. Çalışmaya başladıktan sonra bir iş parçacığının türünü değiştiremezsiniz."

Örnek:
Thread thread = new LoggerThread();
thread.setDaemon(true);
thread.start();

"Ve bu kadar?"

"Evet."

"Konu oluşturma ve başlatma sürecine bir kez daha dikkatinizi çekmek istiyorum."

"Bir Thread nesnesi oluşturmak bir iş parçacığı oluşturmaz. Bir Thread nesnesi bir iş parçacığı değildir. JVM, start() yöntemi çağrıldığında bir iş parçacığı oluşturur. Bir İş Parçacığı, bir iş parçacığı hakkındaki bilgilere erişmenizi sağlayan ve üzerinde biraz kontrol sahibisin."

"Anlıyorum. Sağ ol Ellie."