Moderne processorer med flere kerner kan drage fordel af samtidige Java-programmer. En samtidig anvendelse er en, der udfører flere operationer samtidig. Concurrency introducerer unikke udfordringer , der skal løses for at undgå problemer . Et stort problem opstår, når to tråde for henrettelse hver adgang den samme metode på samme tid. En tråd kan interferere med hinanden og gøre data upålidelige. Til at styre dette problem, kan du forhindre samtidig adgang til en metode, ved hjælp af synkronisering funktion i Java. Ting du skal
Java Software Development Kit med NetBeans Integrated Development Environment (IDE) Bundle
Vis Flere Instruktioner
1
Load NetBeans IDE ved at klikke på programmets ikon . Når programmet belastninger , navigere til "Ny /New Project" og vælg " Java Application " fra listen på højre side af skærmen. En ny kildekode fil vises i NetBeans teksteditor. Kildekoden fil indeholder en tom hovedfunktion
2
erklære en statisk variabel kaldet x ved at skrive følgende i den vigtigste funktion i kildekoden : . Statisk int x = 0;
< br >
3
Opret en synkroniseret metode ved at tilføje " synkroniseret " søgeord til metoden erklæring. En synkroniseret metode kan kun tilgås af en tråd på et tidspunkt , hvilket forhindrer databrud . At erklære en metode ved navn " methodName " synkroniseret , skriver følgende erklæring i kildekoden fil : public synkroniseret methodName ()
4
Increment et heltal ved at skrive følgende erklæring inden for de krøllede parenteser i metoden : tilbage x + +;
5
Ring til synkroniseret metode. For at forstå hvad synkronisering udretter , først formoder metoden ikke var synkroniseret . Hvis to parallelle tråde kalder metoden samtidigt, vil de hver øg variablen x. Da x starter ved 0, vil resultatet af en tilvækst operation være x = 1 . Dette er et problem, fordi metoden blev kaldt to gange , og derfor x skal være lig 2 . Da " methodName " er synkroniseret , vil kun én af de to parallelle tråde indtaste metode ad gangen. En tråd vil indtaste " methodName " tilvækst x, og afslut. Dette tillader den anden tråd at indtaste " methodName " og udføre den anden tilvækst operation . Med den synkroniserede søgeord . To opkald til " methodName " resultat i x er lig med 2 En metode opkald kan skrives på denne måde: methodName ();