Moderne prosessorer med flere kjerner kan dra nytte av samtidige Java-programmer. En samtidig applikasjon er en som utfører flere operasjoner samtidig . Samtidighet introduserer unike utfordringer som må løses for å unngå problemer . Ett stort problem oppstår når to tråder gjennomføring hver tilgang samme metode samtidig. En tråd kan forstyrre hverandre og gjøre data upålitelig . For å kontrollere dette problemet , kan du hindre samtidig tilgang til en metode ved hjelp av synkronisering funksjon i Java. Du trenger
Java Software Development Kit med NetBeans Integrated Development Environment ( IDE ) Bundle
Vis flere instruksjoner
en
Load NetBeans IDE ved å klikke på programikonet . Når programmet er lastet inn, går du til "Ny /New Project" og velg " Java Application " fra listen til høyre side av skjermen . En ny kildekoden filen vises i NetBeans tekst editor. Kildekoden filen inneholder en tom hovedfunksjon
2
erklære en statisk variabel med navn x ved å skrive følgende i løpet av den viktigste funksjonen i kildekoden : . Static int x = 0;
3
Lag en synkronisert metode ved å legge til " synkronisert " søkeord til metoden erklæringen. En synkronisert metoden kan bare nås av en tråd av gangen , og dermed hindre data inkonsekvenser . Å erklære en metode som heter " methodname " synkronisert , skriver følgende erklæring i kildekoden filen : public synkronisert methodname ( )
4
Increment et heltall ved å skrive følgende uttalelse innenfor de klammeparentes av metoden : tilbake x + +;
5
Ring synkronisert metode . For å forstå hva synkronisering oppnår , først anta at metoden ikke ble synkronisert . Hvis to parallelle tråder kaller metoden samtidig, vil de hver øke variabelen x . Siden x starter på 0 , vil resultatet av en økning operasjon være x = 1 . Dette er et problem fordi metoden ble kalt to ganger , og derfor bør være lik 2 x . Siden " methodname " er synkronisert , vil bare en av de to parallelle tråder inn i metode om gangen. En tråden vil angi " methodname , " tilvekst x , og exit. Dette gjør at andre tråden for å angi " methodname " og utfører andre tilvekst drift . Med synkronisert søkeordet , to samtaler til " methodname " resultat i x være lik to . En metode samtale kan skrives slik: methodname ();