tri-color mark sweep GC algoritması, çöp toplayıcının uygulama ile eşzamanlı çalışabilmesini sağlayan teorik temeldir. Klasik mark-and-sweep, tarama sırasında tüm uygulamayı durdurur (stop-the-world). Tri-color bu duraksama süresini azaltmak veya elimine etmek için nesne grafiğini üç kümeye böler. - Beyaz: Henüz ziyaret edilmemiş veya ölü olduğu belirlenen nesneler. - Gri: Ziyaret edilmiş ama çocukları henüz taranmamış nesneler. - Siyah: Hem kendisi hem de tüm çocukları taranmış, canlı nesneler. Algoritma şu şekilde ilerler: Kökler gri kümeye alınır. Her adımda bir gri nesne seçilir, çocukları gri kümeye eklenir, nesne siyaha boyandır. Gri küme boşaldığında beyaz kümedekiler ölüdür ve toplanabilir. tri-color mark sweep GC'nin eşzamanlılık garantisi şu değişmeze dayanır: "Siyah bir nesne hiçbir zaman doğrudan beyaz bir nesneye referans içermez." Bu değişmezi ihlal eden bir durum oluşursa, uygulama GC çalışırken yeni bir referans bağlarsa, beyaz (ölü zannedilen) bir nesne aslında canlı olabilir. Bu duruma floating garbage veya daha kötüsü premature collection denir. Yazma bariyeri (write barrier) tam bu değişmezi korumak için vardır. Uygulama bir işaretçi alanını güncellediğinde (bir referans yeni bir nesneyi gösterdiğinde) yazma bariyeri devreye girer ve bu güncellemeyi GC'ye bildirir. İki temel yazma bariyeri stratejisi vardır: 1. Dijkstra (incremental update): Yeni oluşturulan referansın hedef nesnesini gri kümeye alır. Ekleyici yaklaşım; GC tutarlılığını geriye dönük risklerden korutur. 2. SATB (Snapshot At The Beginning): Üstüne yazılan eski referansın hedefini gri kümeye alır. G1GC ve Shenandoah bu yaklaşımı kullanır. GC başlangıcındaki anlık görüntü tüm canlı nesneleri kapsar; sonsüre içinde ölen nesneler floating garbage olarak bırakılır. Yazma bariyerinin her referans yazımında tetiklenmesi performans maliyeti getirir: bu maliyet genellikle %1-5 genel yük şeklinde ölçülür. Barrier'ı mümkün olduğunca ucuz (branch-free, cache dostu) tasarlamak, eşzamanlı GC tasarımının temel mühendislik sorunlarından biridir.