Tôi đã có một yêu cầu để tạo phân tích các chuỗi đang chạy trong một JVM để giám sát các công việc đang chạy dài. Có cách nào để tìm ngày/giờ bắt đầu của một chuỗi Java không? Tôi không có vấn đề nhận được các chủ đề, nhưng tôi không thể tìm ra bất kỳ cách nào để tìm ra bao lâu thread đã hoạt động hoặc khi nó bắt đầu. Để có được các chủ đề, tôi chỉ đơn giản là liệt kê trên ThreadGroup.Có cách nào để xác định thời điểm bắt đầu một chuỗi Java không?
Lưu ý rằng tôi không có quyền kiểm soát các chủ đề thực tế, vì vậy tôi không thể đặt bất kỳ thời gian hoặc tài sản nào và tự ghi lại thời gian bắt đầu. Tất cả tôi có nó là chủ đề thực tế chính nó và cần phải xác định dữ liệu từ đó. Tôi có thể tìm thấy hai phương thức trên luồng - "getThreadCpuTime()" và "getThreadUserTime()" nhưng tôi không chắc rằng chúng là đủ, vì dường như luồng này thỉnh thoảng sẽ gọi phương thức sleep() và tôi sợ rằng thời gian "ngủ" sẽ không được bao gồm trong cả hai phương pháp này.
Có cách nào để xác định thời gian bắt đầu cho chuỗi không? Hoặc một trong hai phương thức thời gian sẽ trả về một chuỗi đã hoạt động trong bao lâu?
liên quan: [http://stackoverflow.com/questions/9874641/tracking-java-thread-creation-and-lifetime] (tạo chủ đề và thời gian cuộc sống) – Jayan
Liên quan: [http://stackoverflow.com/questions/12491112/thread-creation-listener] (Trình nghe tạo chủ đề) –
Bạn có thể sử dụng 'ThreadLocal' để lưu thời gian bắt đầu cho' Chủ đề' đó. –