Semaforet janë të sigurta në lidhje siç shpjegohet në javadoc: Efektet e konsistencës së memories: Veprimet në një thread përpara thirrjes së një metode "lirimi", si p.sh. lëshimi ndodhin-para veprimeve pas një metodë e suksesshme e "përvetësimit" të tillë si përvetësimi në një thread tjetër. Shumica e operacioneve në objektet në java.
A e pengojnë semaforët garën?
Jo, operacionet e mbylljes ndodhin në mënyrë atomike. Të gjitha të kyçurat nuk do të ekzekutohen në mënyrë atomike. Dhe mbani mend, thread-et ndajnë një hapësirë të përbashkët adresash dhe janë të gjitha të lidhura me një proces.
A është i sigurt përdorimi i fillit?
Një Objekt MessageService është efektivisht i pandryshueshëm pasi gjendja e tij nuk mund të ndryshojë pas ndërtimit të tij. Prandaj, është i sigurt për fije. Për më tepër, nëse MessageService do të ishte në të vërtetë i ndryshueshëm, por temat e shumta kanë qasje vetëm për lexim në të, ai është gjithashtu i sigurt për temat.
A është tema e sigurt dhe e sinkronizuar?
Thread sigurt do të thotë: metoda bëhet e sigurt për t'u aksesuar nga shumë thread pa asnjë problem në të njëjtën kohë. fjala kyçe e sinkronizuar është një nga mënyrat për të arritur 'fije të sigurt'. Por mbani mend: Në fakt, ndërsa temat e shumta përpiqen të kenë qasje në metodën e sinkronizuar, ata ndjekin rendin, kështu që ato bëhen të sigurta për t'u aksesuar.
A janë të drejtë semaforët?
Në përgjithësi, semaforët e përdorur për të kontrolluar aksesin në burim duhet të inicializohen si të drejta, për të siguruar që asnjë thread të mos ikë nga qasja në një burim. Kur përdornisemaforë për lloje të tjera të kontrollit të sinkronizimit, avantazhet e xhiros së renditjes jo të drejtë shpesh i tejkalojnë konsideratat e drejtësisë.