Thread.currentThread()
là phương thức tĩnh tĩnh cung cấp tham chiếu đến chuỗi đang thực hiện (về cơ bản là tham chiếu đến chuỗi 'this').Thread.currentThread() hoạt động như thế nào?
Truy cập thành viên không tĩnh (đặc biệt là this
) bên trong một phương pháp tĩnh là không thể trong Java, do đó, currentThread()
là một phương pháp gốc.
Phương thức hoạt động của currentThread()
đằng sau hậu trường như thế nào?
Bạn có thể xem mã OpenJDK đang triển khai phương pháp này. Tại một đoán, tôi muốn nói nó yêu cầu hệ điều hành mà thread nó trên, sau đó bản đồ mà thread ID cho một đối tượng Thread. –
Tôi không biết về chi tiết triển khai 'currentThread', nhưng bạn có thể sử dụng' ThreadLocal' nếu bạn muốn sử dụng cùng một cơ chế chung trong mã của riêng bạn. – duckstep
Câu hỏi rất hay. Đặc biệt, đối tượng được trả về bởi _currentThread() _ luôn giống với đối tượng 'Thread' được sử dụng để bắt đầu ** thread **? Nó có thể tạo ra hai đối tượng 'Thread' cho cùng một ** thread ** không? Một hàm gốc có thể tạo một luồng ** và gọi mã Java không? Đối tượng 'Thread' sẽ được trả về cho ** thread ** như thế nào? – 18446744073709551615