Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Keep-Alive-Timer Thread

 
Steven Zaluk
Greenhorn
Posts: 3
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I created a multi-threaded application where each thread posts an XML request to an HTTP server. I place each thread in a ThreadGroup. I noticed that when I poll the number of active threads in the ThreadGroup by using the actievCount() method, I always have one thread active. When I debug the thread and print the contents of the ThreadGroup at 500 ms intervals using the list() method I see my threads but after all my threads are finished and die, I see the following:
java.lang.ThreadGroup[name=requests,maxpri=10]
Thread[Keep-Alive-Timer:,8,requests]
This thread never dies. Does anyone know what this thread is and how it got placed in the ThreadGroup? This thread is not present when I have my threads still active. I am using JDK 1.3.1. Any help would be appreciated.
Thanks,
Steve
 
Michael Ernest
High Plains Drifter
Sheriff
Posts: 7292
Netbeans IDE VI Editor
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Every thread group requires a monitor thread that maintains state information about the other threads in the group. So it's just running around in the group and checking on your worker threads.
It's generally not that efficient to create a group per working thread for that reason.
 
Steven Zaluk
Greenhorn
Posts: 3
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
When I have worker threads in the group this Keep-Alive-Timer thread is not there. It is only present when all my threads have finished executing.
Thanks,
Steve
 
I agree. Here's the link: http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic