Race condition (yarış vəziyyəti) iki və ya daha çox paylaşılan məlumatlara daxil ola bildikdə və eyni zamanda onu dəyişdirməyə çalışdıqda baş verir. Nəticədə, dəyişənlərin dəyərləri gözlənilməz ola bilər.
Java-da yarış vəziyyətinə bir nümunə:
class Counter { private int count = 0; public void increment() { count++; } public int getCount() { return count; } } public class Main { public static void main(String[] args) throws InterruptedException { Counter counter = new Counter(); Thread thread1 = new Thread(() -> { for (int i = 0; i < 1000; i++) { counter.increment(); } }); Thread thread2 = new Thread(() -> { for (int i = 0; i < 1000; i++) { counter.increment(); } }); thread1.start(); thread2.start(); thread1.join(); thread2.join(); System.out.println(counter.getCount()); // prints a value less than 2000 } }
Java-ni oyrenmeyi asanlasdiraq
YanıtlaSilKitablar və materiallar üçün linklər => Joshua Bloch - Effective Java (3Rd) - 2018.Pdf cox gozel kitabdir. Javani oyrenenler ucun evezolunmaz bir kitab numuneler ile birlikde
YanıtlaSil