Синхронна вибірка сторінки визначає політику (коли) і механізм (як) і завжди блокує процес запису. Неблокуючий запис усунути таке блокування шляхом буферизації записаних даних в іншому місці пам’яті та негайного розблокування процесу запису.
Що таке неблокування? Це відноситься до програма, яка не блокує виконання подальших операцій. Неблокуючі методи виконуються асинхронно. Асинхронність означає, що програма не обов'язково може виконуватися рядок за рядком.
Блокувальник запису є будь-який інструмент, який надає доступ лише для читання до пристроїв зберігання даних без шкоди для цілісності даних. За правильного використання блокувальник запису може гарантувати захист ланцюжка зберігання даних.
Блокування проти неблокування Основна відмінність між блокуючими та неблокуючими алгоритмами полягає в тому, які потоки можуть просуватись у виконанні коду. У блокувальній моделі дозволено один потік, щоб запобігти будь-якому прогресу всім іншим потокам.
Найважливіша відмінність між блокуючим і неблокуючим вводом-виводом полягає в тому, як код поводиться під час операції введення-виведення: з блокуючим IO користувачі повинні зачекати, поки дані будуть отримані, перш ніж продовжити виконання; з неблокуючим IO користувачам взагалі нічого не потрібно чекати!
Неблокуючий вихідний виклик ініціює операцію надсилання, але не завершує її. Виклик початку надсилання повернеться до того, як повідомлення було скопійовано з буфера надсилання. Для завершення зв’язку, тобто для перевірки того, що дані скопійовано з буфера надсилання, потрібен окремий виклик завершення надсилання.