Việc sử dụng ThreadLocal là gì?
Việc sử dụng ThreadLocal là gì?

Video: Việc sử dụng ThreadLocal là gì?

Video: Việc sử dụng ThreadLocal là gì?
Video: Phần 16 | Tìm hiểu Thread - Phân 1 | Khóa học lập trình Java nâng cao 2024, Có thể
Anonim

Java ThreadLocal được sử dụng để tạo các biến cục bộ của luồng. Chúng tôi biết rằng tất cả các luồng của một Đối tượng đều chia sẻ các biến của nó, vì vậy biến đó không phải là luồng an toàn. Chúng ta có thể sử dụng đồng bộ hóa để đảm bảo an toàn cho luồng nhưng nếu chúng ta muốn tránh đồng bộ hóa, chúng ta có thể sử dụng các biến ThreadLocal.

Như vậy, lớp ThreadLocal được sử dụng để làm gì?

Java Lớp ThreadLocal cung cấp luồng địa phương biến. Nó cho phép bạn tạo các biến chỉ có thể được đọc và ghi bởi cùng một chủ đề. Nếu hai luồng đang thực thi cùng một mã và mã đó có tham chiếu đến ThreadLocal biến thì hai luồng không thể thấy biến cục bộ của nhau.

Ngoài phần trên, tại sao ThreadLocal là tĩnh và cuối cùng? Như chúng ta có thể thấy, tĩnh ví dụ của ThreadLocal chỉ được sử dụng làm khóa tìm kiếm. Giá trị của nó không thể thay đổi vì nó đã được khai báo cuối cùng . Các ThreadLocal instance hoàn toàn an toàn theo luồng vì nó thực sự ở chế độ chỉ đọc nên việc đồng bộ hóa không được yêu cầu. Đối tượng mục tiêu có khả năng không an toàn cho luồng.

Tương tự, bạn có thể hỏi, ThreadLocal hoạt động như thế nào trong Java?

Các Java ThreadLocal lớp cho phép bạn tạo các biến chỉ có thể được đọc và ghi bởi cùng một luồng. Do đó, ngay cả khi hai luồng đang thực thi cùng một mã và mã có tham chiếu đến cùng một ThreadLocal biến, hai chủ đề không thể nhìn thấy nhau ThreadLocal biến.

Tại sao ThreadLocal lại tĩnh?

Nói ngắn gọn, ThreadLocal đối tượng hoạt động giống như một bản đồ khóa-giá trị. tĩnh cuối cùng ThreadLocal các biến là chủ đề an toàn. tĩnh làm cho ThreadLocal biến có sẵn trên nhiều lớp chỉ cho chuỗi tương ứng. đó là một loại phân tách biến Toàn cục của các chủ đề địa phương các biến trên nhiều lớp.

Đề xuất: