Mục lục:
Định nghĩa - Nguyên tử có nghĩa là gì?
Atomic là một bộ công cụ gồm các lớp gói java.util.concản.atomic biến đổi, hỗ trợ viết các thuật toán khóa và chờ đợi với ngôn ngữ Java. Một thuật toán chỉ yêu cầu một phần cho tiến trình liên tục là không có khóa. Trong thuật toán chờ miễn phí, tất cả các luồng thực hiện tiến trình liên tục, ngay cả trong trường hợp lỗi luồng hoặc trễ. Các thuật toán khóa và chờ cũng được gọi là thuật toán không chặn. Các thuật toán không chặn được sử dụng để lập lịch xử lý và xử lý luồng ở cấp độ hệ điều hành và máy ảo Java.
Techopedia giải thích nguyên tử
Tất cả các lớp gói java.util.concản.atomic đều có tiền tố "nguyên tử" trong tên của chúng. Có nhiều loại biến nguyên tử khác nhau có sẵn trong gói java.util.concản.atomic, bao gồm:
- Nguyên tử
- Nguyên tử
- Nguyên tửIntegerArray
- AtomicIntegerFieldUpdater
- Nguyên tử
- Nguyên tửLongArray
- Nguyên tửLongFieldUpdater
- Nguyên tử
Một ví dụ là một kịch bản trong đó luồng A giữ một khóa. A chỉ có thể truy cập và thay đổi các biến được bảo vệ bởi khóa này. Nếu luồng B giữ khóa này sau A, thì chỉ B có thể xem các thay đổi của A trên các biến được bảo vệ bởi khóa cụ thể đó. Vấn đề chính với khóa xảy ra khi B cố gắng lấy khóa do A. giữ trong trường hợp này, B bị chặn để đợi cho đến khi khóa có sẵn. Các thuật toán không chặn giải quyết vấn đề này.
Mục đích chính của việc xây dựng các lớp nguyên tử là để thực hiện các cấu trúc dữ liệu không chặn và các lớp cơ sở hạ tầng liên quan của chúng. Các lớp nguyên tử không phục vụ như là sự thay thế cho java.lang.Integer và các lớp liên quan. Hầu hết các lớp gói java.util.conc hiện sử dụng các biến nguyên tử thay vì đồng bộ hóa, trực tiếp hoặc gián tiếp. Các biến nguyên tử cũng được sử dụng để đạt được thông lượng cao hơn, có nghĩa là hiệu suất máy chủ ứng dụng cao hơn.