Java programmeringsspråk lar programmerere å skrive kode som vil kjøre parallelt på forskjellige tråder . Hvis datamaskinen har mer enn én prosessorkjerne , vil trådene virkelig kjøre parallelt , ellers vil prosessoren bli multiplex fremfor alle lettløpte tråder. Når flere tråder operere på samme delte ressurs , kan det resulterende kode bare være riktig hvis bare én tråd i en tid opererer på den ressursen. Synkroniserte metoder er garantert å bevare denne eiendommen: til enhver tid , på det meste , er en forekomst av en synkronisert metode lov til å bruke ressursen. Instruksjoner
en
Erklærer en egen klasse som skal inneholde synkronisert kode , som i følgende eksempelkode : en
public class SynchronizationExample ( ) {
}
2
Erklærer den delte ressursen som en " privat " class -medlem , som i følgende eksempelkode : en
public class SynchronizationExample ( ) {
private int accountBalance = 0 ;
}
3
Erklærer metodene som opererer på den delte ressursen ved hjelp av " synkronisert " søkeord , som i følgende eksempelkode : en
public class SynchronizationExample ( ) {
private int accountBalance = 0;
offentlige synkronisert void innskudd ( int beløp) {
accountBalance = accountBalance + beløp,
< p > }
offentlige synkronisert void uttak ( int beløp) {
accountBalance = accountBalance - beløp,
}
}
Siden de er synkronisert, vil metoder " innskudd" og " uttak " ikke kjøre parallelt , hvis man trenger å starte når den andre er utfører, vil det ha å vente til den første til å starte fullfører . Dette gjør endringene til delt ressurs " accountBalance " trådsikre .