У меня есть запрос на создание анализа выполнения потоков в JVM для отслеживания длительных рабочих заданий. Есть ли способ найти начальную дату/время потока Java? У меня нет проблем с получением потоков, но я не могу понять, как долго поток был активным или когда он начинался. Чтобы получить потоки, я просто перечисляю ThreadGroup.Есть ли способ определить, когда начинается поток Java?
Обратите внимание, что я сам не контролирую фактические потоки, поэтому я не могу использовать какое-либо время или свойство и самостоятельно регистрировать время начала. Все, что у меня есть, это собственно поток и нужно определить данные из этого. Я могу найти два метода в потоке - «getThreadCpuTime()» и «getThreadUserTime()», но я не уверен, что их достаточно, так как, по-видимому, поток иногда вызывает метод sleep(), и я боюсь, что «сон» не будет включен ни в один из этих методов.
Есть ли способ определить время начала потока? Или один из двух методов времени вернет, как долго поток был активен?
Связанный: [http://stackoverflow.com/questions/9874641/tracking-java-thread-creation-and-lifetime] (создание темы и время жизни) – Jayan
Связано: [http://stackoverflow.com/questions/12491112/thread-creation-listener] (прослушиватель создания темы) –
Вы можете использовать 'ThreadLocal', чтобы сохранить время начала для этого' Thread'. –