Mam żądanie utworzenia analizy uruchomionych wątków w JVM w celu monitorowania długotrwałych zadań. Czy istnieje sposób na znalezienie daty/czasu rozpoczęcia wątku Java? Nie mam problemu z uzyskaniem wątków, ale nie mogę znaleźć sposobu, aby dowiedzieć się, jak długo wątek był aktywny lub kiedy się zaczął. Aby uzyskać wątki, po prostu wyliczam na ThreadGroup.Czy istnieje sposób ustalenia, kiedy wątek Java został uruchomiony?
Należy pamiętać, że nie mam wpływu na same wątki, więc nie mogę wstawić czasu ani właściwości i samodzielnie zarejestrować czasu rozpoczęcia. Wszystko, co mam, to sam wątek i muszę określić dane z tego. Mogę znaleźć dwie metody na wątku - "getThreadCpuTime()" i "getThreadUserTime()", ale nie jestem pewien, czy to wystarczy, ponieważ najwyraźniej wątek będzie czasami wywoływał metodę sleep(), i obawiam się, że czas "uśpienia" nie zostałby uwzględniony w żadnej z tych metod.
Czy istnieje sposób określenia czasu rozpoczęcia wątku? A może jedna z dwóch metod czasu zwróci jak długo wątek był aktywny?
Related: [http://stackoverflow.com/questions/9874641/tracking-java-thread-creation-and-lifetime] (tworzenie Temat i czas życia) – Jayan
Powiązane: [http://stackoverflow.com/questions/12491112/thread-creation-listener] (detektor tworzenia nici) –
Możesz użyć 'ThreadLocal', aby zapisać czas rozpoczęcia dla tego' Thread'. –