Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako zabrániť súčasný prístup k metóde v jazyku Java

Moderné procesory s viacerými jadrami môžu využiť paralelných aplikácií Java . Súbežné aplikácie je ten , ktorý vykonáva niekoľko operácií súčasne . Súbeh predstavuje jedinečné výzvy , ktoré treba riešiť , aby sa predišlo problémom . Jeden hlavný problém nastane , keď dva závity prevedenie každého pristupovať rovnakým spôsobom súčasne . Jedno vlákno môže interferovať s inou , a aby údaje nespoľahlivé . Ak chcete ovládať tento problém , môžete zabrániť súbežný prístup k metóde pomocou synchronizačného funkciu Java . Veci , ktoré budete potrebovať
Java Software Development Kit s NetBeans integrované vývojové prostredie ( IDE ) Bundle
Zobraziť ďalšie inštrukcie Cestuj 1

Vložte NetBeans IDE kliknutím na jeho ikonu programu . Keď sa program načíta , prejdite na " Nové /New Project " a vyberte " Java aplikácie " zo zoznamu na pravej strane obrazovky . Nový zdrojový kód súboru sa zobrazí v textovom editore NetBeans . Súbor Zdrojový kód obsahuje prázdnu hlavnú funkciu
2

deklarovať statickú premennú pomenovanú x napísaním nasledujúceho v hlavnej funkcie v zdrojovom kóde : . Static int x = 0 ;

Sims 3

Vytvoriť synchronizovanú metódu tým , že pridá " synchronizované " kľúčové slovo metódy vyhlásenia . Synchronizované metódy možno pristupovať iba jedno vlákno v čase , čím sa zabráni dátové nezrovnalosti . Ak chcete deklarovať metódu s názvom " methodName " synchronizované , napísať nasledujúce vyhlásenie v súbore zdrojového kódu : public synchronizovať metóda ( )
4

Prírastok celé číslo napísaním nasledujúceho príkazu v zložených zátvorkách metódy : return x + + ;
5

Zavolajte synchronizované metódy . Aby sme pochopili , čo synchronizačný dosiahne , prvý predpokladám metóda nebola synchronizované. Ak sa dve paralelné vlákna volaním metódy súčasne , budú každý prírastok premennej x . Vzhľadom k tomu , x začína na 0 , bude výsledkom operácie prírastok je x = 1. To je problém , pretože metóda bola volaná dvakrát , a preto by sa mal rovnať 2 x . Vzhľadom k tomu , " methodName " je synchronizovaná , iba jeden z dvoch paralelných vlákien vstúpi spôsob naraz . Jedno vlákno vstúpi do " MethodName , " prírastok x , a odchod . To umožňuje druhý vlákno zadať " MethodName " a vykonať druhú operáciu prírastok . S synchronizované kľúčového slova , dva hovory na " methodName " výsledok v x je rovná 2. Volanie metódy možno zapísať takto : methodName ( ) ;

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené