Locked tomcat threads
===

My tomcat server is responding slowly frequently and dying out after some time. This is happening quite often once a week. I took a thread dump and it shows about 50% of the threads are in locked state. Class which is locking the thread is  org.apache.tomcat.util.net.AprEndpoint
I think over the time number of thread locking is rising and finally taking up all threads in locked state.
Here is one statement from the thread dump which shows locked state
"http-8080-4" daemon prio=6 tid=0x000000006acca800 nid=0x9d8 in Object.wait() [0x000000007083f000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x0000000028ead838> (a org.apache.tomcat.util.net.AprEndpoint$Worker)
	at java.lang.Object.wait(Object.java:485)
	at org.apache.tomcat.util.net.AprEndpoint$Worker.await(AprEndpoint.java:1511)
	- locked <0x0000000028ead838> (a org.apache.tomcat.util.net.AprEndpoint$Worker)
	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1536)
	at java.lang.Thread.run(Thread.java:619)
   Locked ownable synchronizers:
	- None