Có thể ai đó xin vui lòng giải thích cho tôi sự khác biệt giữa Sleeping
, Wait
, Park
, và Monitor
tiểu bang thread VisualVM.
Đây là những gì tôi đã tìm thấy:
Running
: luồng vẫn đang chạy.
Sleeping
: luồng đang ngủ (phương thức output () đã được gọi trên đối tượng luồng)
Wait
: luồng đã bị chặn bởi mutex hoặc một rào cản và đang chờ một luồng khác giải phóng khóa
Park
: các luồng đang đỗ sẽ bị treo cho đến khi chúng được cấp phép. Bỏ đánh dấu một luồng thường được thực hiện bằng cách gọi phương thức unark () trên đối tượng luồng
Monitor
: các luồng đang đợi một điều kiện trở thành true để tiếp tục thực thi
Những gì tôi không thể hiểu là Park bang, những gì thực sự đình chỉ các chủ đề? Làm cách nào để phát hiện trong mã điều gì đã khiến luồng tạm ngừng thực thi?
Ai đó có thể vui lòng hướng dẫn tôi về vấn đề này.
Cảm ơn.