Semafore is draad veilig soos verduidelik in die javadoc: Geheue-konsekwentheidseffekte: Aksies in 'n draad voor die oproep van 'n "vrystelling"-metode soos vrystelling gebeur-voor-aksies na 'n suksesvolle "verwerf" metode soos verkry in 'n ander draad. Die meeste bewerkings op die voorwerpe in die java.
Verhinder semafore ras?
Nee, die sluitbewerkings vind atomies plaas. Die hele geslote is sal nie atomies uitgevoer word nie. En onthou, drade deel 'n gemeenskaplike adresspasie en is almal gebonde aan 'n proses.
Is die gebruik van draad veilig?
A MessageService-objek is effektief onveranderlik aangesien sy toestand nie kan verander na sy konstruksie nie. Daarom is dit draad-veilig. Boonop, as MessageService eintlik veranderbaar was, maar veelvuldige drade slegs leestoegang daartoe het, is dit ook draadveilig.
Is draad veilig en gesinchroniseer?
Draadveilig beteken: metode word veilig om deur verskeie drade sonder enige probleem gelyktydig toeganklik te word. gesinchroniseerde sleutelwoord is een van die maniere om 'draadveilig' te bereik. Maar onthou: Eintlik, terwyl verskeie drade probeer om toegang tot gesinchroniseerde metode te kry, volg hulle die volgorde, so dit word veilig om toegang te verkry.
Is semafore regverdig?
Oor die algemeen, semafore wat gebruik word om hulpbrontoegang te beheer, moet geïnisialiseer word as billik, om te verseker dat geen draad uitgehonger word om toegang tot 'n hulpbron te verkry nie. By gebruiksemafore vir ander soorte sinchronisasiebeheer, die deurvloeivoordele van nie-billike ordening weeg dikwels swaarder as billikheidsoorwegings.