31

31



CUi\ 04'tl-

p*lK synchrooiztd Wid transferom fr<» ml to tnt dnount) threws Inter rvpt«d£«»Ct'0°

■mit iocccuntł[frt»] < ***** )

-aitU // oczekuje na spełnienie Jecyneęo warunku zwijanego z oiocadn actorts^n*] -- anuit accognlłttoj *• «*oi/’t

notifyAlil). H pa»'*d***« wwystHe «atk' oczekujące spełnienia u

puUMł syncftromzw double geUowiBaiancou j    |

prwete double accoumii

Jak łatwo /auwazyć. w wyniku zastosowania słowj kluczowego Syrchronizefl uzyskujemy bardziej zwięzły kod Aby /rozumieć jego działanie, musimy jednak wiedzieć, ze z każdym obiektem związana jest niejawna blokada posiadająca pojedynczy warunek. Blokada la zarządza wątkami, które próbują wykonać metodę zadeklarowaną jako Syncwomzed. \k nrunek zarządza wątkami, które wywołały metodę wąit.

Jednak niejawne blokady I związane z nimi warunki posiadają pewne ograniczenia Należą do nich między innymi

■    Brak mothwoki przerwania wątku, który próbuje uzy skać blokadę

■    Brak możliwości wyspecyfikowania limitu czasu dla wątku, który próbuje uzyskać blokadę

■    Pojedynczy warunek dla blokady może być niewystarczający.

■    Odwzorowania blokad używanych przez maszynę wirtualną Java na sprzętowe mechanizmy blokowania nie jest zbył efektywne

Kiedy używać w programach obiektów Lock ł Canduion, a kiedy deklaracji metod opatrzonych słowem kluczowym synchromied? Oto nasze wskazówki

l Najlepiej nic stosować wcale ani obiektów lock/Coruit. lun. ani słowa kluczowego sync.hror i z*q. W wiciu sytuacjach lepiej jest skorzystać z mechanizmów dostarczanych przez pakiet javą uiil concurrent. które same zajmują się odpowiednią synchronizacją dostępu. Na przykład na stronic 70. pokażemy sposób u/ycia kolejki blokującej do synchronizacji wątków pracujących nad wspólnym zadaniem

1. Jeśli tylko moznn uz.yć słowa kluczowego 5ynt»ironiz«J. to należy stosować je W pierwszym rzędzie. Dzięki temu musimy pisać mniej kodu i mniejsze jest prawdopodobieństwo popełnienia błędu Ni listingu I 5 przedstawiony został kod

naszego przykładu symulacji banku napisany z zastosowaniem słowa kluczowego tjnfrcriire.

1'    "lcdy. gdy rzeczywiście potrafimy

wykorzystać dodatkowe moZł.woSc, przez nic oferowane

Przynajmniej na razie zastosowanie słów a kluczowego .yr:rr; posiada jeszcze jedna przewagę- Narzędzia monitorujące działanie maszyny wirtualnej Java mogą raportować informacje o niejawnych blokadach i warunkach, co może okazać s*ę pomocne w wykrywaniu zakleszczeń. Upłynie jeszcze nieco czasu, zanim motfwośo te zostano rozszerzone na mechanizmy pakietu java uti 1 .concurrent

Lirtll 15.    r    __

Progran Hut truj? bezpieczny dostęp wielu *4tków do tej struktury cny uZyciu taetcd zadeii.1 równy eh jako tyncnrotiizea

•/

Public ciast Syncheankfest?

(

Public ttatic *oid ■aintStrłngCI argi>

I

Bank p - new Bam 'MCCOUNTS INITIAt._Bflt.AW3l

mt 1.

for M - 0 » ' HflCCOUNTS \+*i

Transfer^unntfOle r - new TrantferRumafilefb. t. INinAL.BfltAflCT:

Threeu t • rei. Threadlrł; t starto.

pubiic Stalle fmal int KACCOUNTS * 100.

Public Katlc finał double JN2TIAL_8AtAMGĘ - 100#

i—

8an« O pewrej liczbie kant.

•z

ciast &jr*

ł

/*»

Tworzy bank bwrai? n liczb* kont

Pparan imtialBaiance początkowy ttan każdego lent* •Z

Public Ban*not n oouble muialBalancei

accounts • rew douClefn}: for (int 1-0. » < accounts.lengtn »*♦! accountt[ i) - initi*lBął*fic*ł


/*•

Rrz#l«*a pieniacze z jednego konta n» flrugie •parał* rnon konto nadawcy bparan to konto odoiorcy ♦para* Mount kwota przetawu

• /    ■ ■

Public syncnromzeo rołO trantfer(int trem. »"t to doiOle tnrows lnt«Ticted£jr«>tton

i


Wyszukiwarka

Podobne podstrony:
rei: CS 63 04 45 91 Fa> 05 63 04 23 39 . nop^Aw a quie.fr/ arąuie-conr posants RAanadoo.fr
UBEZPIECZ Z NAMI SWÓJ EVSPRAWDŹ ElectricMobility Storę SAMOCHODU tL LK IKYCZSŁOO
64 (5) TL 1 , i i f 1___i ‘i lir LlJ 1— >r. ~fr~
save0007 (12) ULU TŁ.....*TT e*ł23K ^‘" l v v — * M€aW -S^ fr"C4<rCm2 - Cł$i ^ - 5 -śe^
Brak synchronizacji zegarów / = transformacja Lorentz’a Składanie prędkości DYNAMIKA UKŁADÓW
Badanie transformatora jednofazowego uwzględnić to, że prąd w stanie jałowym I0=(0,05...0,1 )1 !zn.
IMG04 230 TRZY WYMIARY UCZENIA SIĘ społecznych - a wszystko to w kategoriach indywidualnej tożsamoś
43064 IMG79 I     J*. Q. fR . > fi - to JwF^.,    1 1 (*i ,*■?,-*
JEZUS SKAZANY na ŚMIERĆ 04 ZGRZESZYŁEM 50 WYDAŁEM KREW .NIEWINNEGO! CO NAS TO SCHODZI? ZABIERZC
egzamin 04 49 2013 NA/W ISKO i imię ) System podatkowy to jfijK/espół podaikow iwoi/ącydl wewnętrzn
hpqscan0110 132 kowane w latach 90., a trwające po dzień dzisiejszy transformacje w architekturze po
WE HAVE RIGHT SOLUTIONSCONVERSION FROM 20 TO 3D 1- •    Transfering 2D drawings to 3D
IMG79 I     J*. Q. fR . > fi - to JwF^.,    1 1 (*i ,*■?,-*•>
Digitalizar0027 Para realęar a decoupage, decaląue alguns adesivos do tipo transfer, usando o p

więcej podobnych podstron