De programmeertaal Java stelt programmeurs in staat om code te schrijven die parallel loopt op verschillende threads . Als de computer meer dan een processor core , zullen de draden echt parallel lopen , anders zal de processor worden multiplexed over alle uitvoerbare discussies . Wanneer meerdere threads werken op dezelfde gedeelde bron , kan de resulterende code alleen correct zijn wanneer slechts een thread tegelijk werkt op die bron . Gesynchroniseerde methoden zijn gegarandeerd om deze woning te behouden : op een gegeven moment , bij de meeste , is een instantie van een gesynchroniseerde methode toegestaan om de bron te gebruiken . Instructies 1 Verklaar een aparte klasse die gesynchroniseerde code zal bevatten , zoals in de volgende voorbeeldcode : public class SynchronizationExample ( ) { } Pagina 2 Verklaar de gedeelde bron als een "prive " class lid , zoals in de volgende voorbeeldcode : public class SynchronizationExample ( ) { private int accountbalance = 0 ; } 3 Verklaar de methoden die werken op de gedeelde bron door gebruik te maken van de " gesynchroniseerde " keyword , zoals in de volgende voorbeeldcode : public class SynchronizationExample ( ) { private int accountbalance = 0 ; openbare gesynchroniseerd leegte aanbetaling ( int aantal ) { accountbalance = accountbalance + bedrag; } openbare gesynchroniseerd leegte terugtrekking ( int aantal ) { accountbalance = accountbalance - bedrag; } } Sinds ze worden gesynchroniseerd , zullen methoden " borg " en " terugtrekking " niet uitvoeren in parallel , als men nodig heeft om te beginnen bij de andere wordt uitgevoerd, zal het moeten wachten tot de eerste die completes beginnen . Dit maakt de wijzigingen aan gedeelde bron " accountbalance " thread - safe .
|