RCU oznacza "czytaj, kopiuj, aktualizuj". Jest to algorytm, który umożliwia wielu czytelnikom dostęp do danych, które mogą być aktualizowane lub nawet usuwane w tym samym czasie przez autorów.
W ramach RCU scenarzyści nadal muszą wzajemnie wykluczać się wzajemnie, ale czytelnicy nie nabywają blokady. Należy zwrócić uwagę, że struktura danych udostępnionych jest aktualizowana w sposób, który nie narusza integralności odczytu. Jeśli coś trzeba usunąć lub usunąć, odłączenie tego elementu ze struktury danych można wykonać równolegle z czytnikami, ale faktyczne usunięcie pamięci musi poczekać, aż ostatni czytnik zakończy.
Zamiast zmuszać czytelników do zdobycia zamka, miejsce pobytu czytelników można wywnioskować na inne sposoby. Wątki mogą ogłaszać zamiar przeglądania struktury danych, łącząc "sekcję krytyczną po przeczytaniu", która nie jest tak naprawdę blokadą, ale stanowi rodzaj globalnej fazy.
Załóżmy na przykład, że niektóre wątki weszły do sekcji krytycznej po stronie odczytu RCU w fazie 0. Aktualizator dokonał usunięcia i chciał zwolnić część pamięci. Musi po prostu poczekać, aż wszystkie wątki w systemie zwolnią fazę 0. W międzyczasie inni czytelnicy już patrzą na strukturę danych, ale kiedy deklarują zamiar RCU, robią to, wpisując krytyczne strony odczytu RCU sekcja w fazie 1. Tylko wątki fazy 0 mogą nadal mieć wskaźnik do obiektu, który został usunięty, a więc gdy ostatni wątek opuści fazę 0, obiekt może być bezpiecznie usunięty. Nowo przybyłe wątki w fazie 1 nie widzą obiektu, ponieważ obiekt został usunięty ze struktury danych, więc nie ma możliwości jego odnalezienia.
RCU wykorzystuje ideę, że nie potrzebujemy blokować obiektów, które są "własnością", aby wiedzieć, jak "żaden wątek nie może uzyskać dostępu do tego obiektu".