Semafori sigurni su nitikao što je objašnjeno u javadocu: Efekti konzistentnosti memorije: radnje u niti prije pozivanja metode "release" kao što je oslobađanje prije nego što se dogodi radnja nakon uspješna metoda "acquire" kao što je stjecanje u drugoj niti. Većina operacija na objektima u java.
Sprečavaju li semafori utrku?
Ne, operacije zaključavanja se događaju atomski. Cijeli zaključani se neće izvršiti atomski. I zapamtite, niti dijele zajednički adresni prostor i sve su vezane za proces.
Je li korištenje nit sigurni?
A Objekt MessageService je zapravo nepromjenjiv budući da se njegovo stanje ne može promijeniti nakon izgradnje. Stoga je siguran za niti. Štoviše, ako je MessageService zapravo bio promjenjiv, ali više niti ima pristup samo za čitanje, on je također siguran za niti.
Je li nit siguran i sinkroniziran?
Thread safe znači: metoda postaje sigurna za pristup više niti bez ikakvih problema u isto vrijeme. sinkronizirana ključna riječ jedan je od načina za postizanje 'thread safe'. Ali zapamtite: zapravo, dok više niti pokušava pristupiti sinkroniziranoj metodi, oni slijede redoslijed tako da postaje siguran za pristup.
Jesu li semafori pošteni?
Općenito, semafori koji se koriste za kontrolu pristupa resursu trebaju biti inicijalizirani kao pošteni, kako bi se osiguralo da niti jedna nit ne ostane bez pristupa pristupu resursu. Prilikom korištenjasemafori za druge vrste kontrole sinkronizacije, prednosti propusnosti nepoštenog naručivanja često nadmašuju razmatranja pravednosti.