thread in java ·...

17
!"#$%&’()#*% ,%- .#/0’"% 12"%’,! #$%#&’ () *+,& -).,&//& 0& -)+#$1$2 3+,,)1$ 3&#&44+ !"#$%&’()*+ -" .)/+%’$&0$ ( 1"2*(’"2&0$ 134.5673 8)"9(%2"*: -" ;+’$ 1<"-( $-$=$*( -$ 1*(/$)+ >"<<+??" @ 4%+A(=+ -" ;(& BCCDECF 3-45*) 4#*4%6 1. !"#"$%&’(#)* (<$G+%$?"+)( G$*0H ") 5)6$5$,+ ,&7.&%8+ 2. !,-.$%&’(#)* 94+*$5+8)$%& :#$%;&1/$5+%&+< () /)= #$1/)> ()?&5,) @;+,AB C6%) ;+,A D >/)#+1&%;& .% /5$#&,,$ ,&/+5+;$ 3. !,-.$/01%2(#)* 94+*$5+8)$%& :#$%;&1/$5+%&+< () /)= ),;+%8& (&44$ ,;&,,$ ;+,A C6%) ;+,A D .% ;E5&+(F /)= ;E5&+( G+%%$ /+5;& (&44$ ,;&,,$ /5$#&,,$ H 12"%’, 1. I% ;E5&+( D .% J.,,$ () #$%;5$44$ ,&7.&%8)+4& %&44K+1*);$ () .% /5$65+11+ L ME5&+( 1. N4.,,$ () &,&#.8)$%& )%()/&%(&%;& %&4 #$%;&,;$ () .% /5$65+11+ M+4?$4;+ #E)+1+> 4)6E;O&)6E; /5$#&,, $ &P&#.>$% #$%;&P; 2. 0)Q&5&%8& 5),/&R$ +) /5$#&,,)! 4& .%)#E& 5),$5,& ,/&#)S#E& (&4 ;E5&+( ,$%$ 7.&44& %&#&,,+5)& + 6+5+%>5& .% J.,,$ () &,&#.8)$%& )%()/&%(&%;& @#$%;&,;$2 ,;+#A2TB ;.R& 4& +4;5& 5),$5,&2 )%#4.,$ 4$ ,/+8)$ () )%()5)88+1&%;$2 ,$%$ #$%()?),& #$% 64) +4;5) ;E5&+(

Upload: others

Post on 01-Jul-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Thread in Java · me5&+(n4.,,$"()"&,&#.8)$%&")%()/&%(&%;& –:)44.,)$%&

!"#$%&'()#*%+,%-+.#/0'"%

12"%',!"#$%#&'"()"*+,&

-).,&//&"0&"-)+#$1$2"3+,,)1$"3&#&44+

!"#$%&'()*+,-",.)/+%'$&0$,(,1"2*('"2&0$

134.5673,8)"9(%2"*:,-",;+'$

1<"-(,$-$=$*(,-$,1*(/$)+,>"<<+??",@,4%+A(=+,-",;(&,BCCDECF,

3-45*)+4#*4%6

1.!"#"$%&'(#)*+

– (<$G+%$?"+)(,G$*0H,"),5)6$5$,+",&7.&%8+

2.!,-.$%&'(#)*+

– 94+*$5+8)$%&":#$%;&1/$5+%&+<"()"/)="#$1/)>"()?&5,)"@;+,AB

– C6%)";+,A"D">/)#+1&%;&".%"/5$#&,,$",&/+5+;$

3.!,-.$/01%2(#)*+

– 94+*$5+8)$%&":#$%;&1/$5+%&+<"()"/)="),;+%8&"(&44$",;&,,$";+,A

– C6%)";+,A"D".%";E5&+(F"• /)=";E5&+("G+%%$"/+5;&"(&44$",;&,,$"/5$#&,,$

H

12"%',

1.I%";E5&+("D".%"J.,,$"()"#$%;5$44$",&7.&%8)+4&"%&44K+1*);$"()".%"/5$65+11+

L

ME5&+(1.N4.,,$"()"&,&#.8)$%&")%()/&%(&%;&"%&4"#$%;&,;$"()".%"/5$65+11+

– M+4?$4;+"#E)+1+>"4)6E;O&)6E;"/5$#&,,"$"&P&#.>$%"#$%;&P;

2.0)Q&5&%8&"5),/&R$"+)"/5$#&,,)!

– 4&".%)#E&"5),$5,&",/&#)S#E&"(&4";E5&+(",$%$"7.&44&"%&#&,,+5)&"+"6+5+%>5&".%"J.,,$"()"&,&#.8)$%&")%()/&%(&%;&"@#$%;&,;$2",;+#A2TB

– ;.R&"4&"+4;5&"5),$5,&2")%#4.,$"4$",/+8)$"()")%()5)88+1&%;$2"

– ,$%$"#$%()?),&"#$%"64)"+4;5)";E5&+(

Page 2: Thread in Java · me5&+(n4.,,$"()"&,&#.8)$%&")%()/&%(&%;& –:)44.,)$%&

ME5&+(

N4.,,$"()"&,&#.8)$%&")%()/&%(&%;&

– :)44.,)$%&<"#E&"$6%)"J.,,$"+**)+".%":/5$#&,,$5&<"(&()#+;$"+44K&,&#.8)$%&"(&4"/5$/5)$"#$()#&

– U$1&"7.&,;$"?&%6+"&Q&'?+1&%;&"5&+4)88+;$")%"&4+*$5+;$5)")%"#.)")4"%.1&5$"(&)"/5$#&,,$5)",)+"@1$4;$B")%G&5)$5&"+"7.&44$"(&)";E5&+("()/&%(&"(+)"1&##+%),1)"/5$/5)"(&4",),;&1+"$/&5+>?$"&"(&44+"VW3X"9,.4+"(+64)",#$/)"(&4"#$5,$2"#G5X")"#$5,)"()":Y),;&1)"C/&5+>?)<"&"()":Z5$6&R$"()"[&>"()"U+4#$4+;$5)"&"Y),;&1)"\%G$51+>#)<"

I>4)88$"(&)"ME5&+(1.Z&5"1)64)$5+5&"4K)%;&5+8)$%&"#$%"4K.;&%;&

– 1+%;&%&%($"5+/)(&";.R&"4&")%;&5+8)$%)"#$%"4K.;&%;&

– 4&"$/&5+8)$%)"4.%6E&"?&%6$%$",?$4;&"(+";E5&+("(&()#+>",&%8+"#$1/5$1&R&5&"4+"5&+'?);]"(&4";E5&+("#E&"6&,>,#&"4K)%;&5+8)$%&"#$%"4K.;&%;&"

2.Z&5",)1.4+5&"+'?);]",)1.4;+%&&

3.Z&5",G5.R+5&",),;&1)"1.4>^/5$#&,,$5&

– +4"S%&"()"(&()#+5&"/)="/5$#&,,$5)"+44K&,&#.8)$%&"(&44$",;&,,$"/5$65+11+

_+?+X4+%6XME5&+(

1. \";E5&+("(&44+"VW3",$%$"+,,$#)+>"+("),;+%8&"(&44+"#4+,,&"java.lang.Thread

2. -4)"$66&'"),;+%8+"()"Thread",?$46$%$"4+"G.%8)$%&"()")%;&5G+##)+"?&5,$"4+"VW3"#E&"D"<IJ)"0$,0$#$0(,-",0%($%(,(K(L9$'()*(,

)J+9",*H%($-

3. `R&%8)$%&"+"%$%"#$%G$%(&5&")4"#$%#&R$"()";E5&+("#$%"64)"$66&'"),;+%8+"(&44+"#4+,,&"java.lang.Thread– ;+4)"$66&'",$%$",$4$"4$",;5.1&%;$"#$%")4"7.+4&"D"

/$,,)*)4&"#$1.%)#+5&"+44+"VW3

• ()"#5&+5&"%.$?)";E5&+(

• ()")%;&55$1/&5&"(&)";E5&+("&,),;&%>

• ()"+R&%(&5&"4+"S%&"()".%";E5&+("@_$)%B

• T

789-%8%*:'()#*%+,%)+12"%',+)*+;'<'

1. 0.&"1$()"/&5"#5&+5&"%.$?)";E5&+(!

– \%,;+%8)+5&"#4+,,)"#E&"(&5)?+%$"(+"java.lang.Thread

• /)=",&1/4)#&

• 1+"%$%"D"/$,,)*)4&"(&5)?+5&"(+"+4;5&"#4+,,)

– \%,;+%8)+5&"()5&R+1&%;&"Thread /+,,+%($"+4",.$"#$,;5.R$5&".%"$66&R$"()")%;&5G+##)+"Runnable

• *),$6%+")1/4&1&%;+5&"4K)%;&5G+##)+"Runnable+&"#5&+5&"&,/4)#);+1&%;&"

4K),;+%8+"()"Thread

• 1+"4+"#4+,,&"5)1+%&"4)*&5+"()"(&5)?+5&"(+".%+"7.+4,)+,)"+4;5+"#4+,,&

2. a&"),;5.8)$%)"(+"&,&6.)5&"(&?$%$"&,,&5&")%,&5);&"%&4"1&;$($"run()2"#E)+1+;$"(+"+.;$1+>#+1&%;&"Thread

– 3&;$($"run()!"&5&();+;$"(+"Thread"$"$Q&5;$"(+"Runnableb

c+)?&

Cde

Page 3: Thread in Java · me5&+(n4.,,$"()"&,&#.8)$%&")%()/&%(&%;& –:)44.,)$%&

[.%%+*4&+ interface Runnable {

public void run();}

f.+%($".%"$66&R$"#E&")1/4&1&%;+"4K)%;&5G+##)+"Runnable+@&"#E&"7.)%()"$Q5&")4"1&;$($"run()B"?)&%&".,+;$"/&5"#5&+5&".%";E5&+(2")4";E5&+("+//&%+"4+%#)+;$"1+%(+"+//.%;$")%"&,&#.8)$%&")4"1&;$($"run()

– M,NJ")-","<,'(*+-+,run(),O,"<,0+-"0(,")-"#()-()*(,-",0J","<,*H%($-,O,"<,

(2(0J*+%(,P9"%*J$<(Q,-(-"0$*+

V+?+X4+%6XME5&+(

gh

V+?+X4+%6X[.%%+*4&

gg

=>%89)#+?"@>#-5()#*%+*')<%@1. a+"#4+,,&"&K".%K),;+%8+"()"ME5&+("@5.%":$?&5)((&%<B

2. "Z$,,)*)4&"YCaC"%&4"#+,$"()"#4+,,&":%$%"S64)+<

gH

/.*4)#"#4+,,"Y)1/4&ME5&+("&P;&%(,"ME5&+("iT/.*4)#"?$)("5.%@B"i

G$5"@)%;")"j"hF")"k"ghF")llB"i"""""Ym,;&1X$.;X/5)%;4%@)"l"n"n"l"6&;c+1&@BBF""""";5m"i" ,4&&/@@4$%6B@3+;EX5+%($1@B"o"ghhhBBF"""""p"#+;#E"@\%;&55./;&(9P#&/>$%"&B"ippYm,;&1X$.;X/5)%;4%@n0Cc9e"n"l"6&;c+1&@BBF

pT

6(<,0<"()*(,

%&O"Y)1/4&ME5&+(@nV+1+)#+nBX>:'":@BF

Page 4: Thread in Java · me5&+(n4.,,$"()"&,&#.8)$%&")%()/&%(&%;& –:)44.,)$%&

=>%89)#+A"@>#-5()#*%+,'+9"%B%")"%@1. "a+"#4+,,&"&K)%,&5);+")%".%K),;+%8+"()"ME5&+(

2. "I%)#+"/$,,)*)4);]"%&4"#+,$"()"#4+,,&":S64)+<"@?&()"#4+,,)"I3aB

gL

/.*4)#"#4+,,"Y)1/4&ME5&+([.%%+*4&"&P;&%(,"0.11m")1/4&1&%;,"[.%%+*4&"iT

""/.*4)#"?$)("5.%@B"iG$5"@)%;")"j"hF")"k"ghF")llB"i""""Ym,;&1X$.;X/5)%;4%@)"l"n"n"l"6&;c+1&@BBF"""";5m"i" ,4&&/@@4$%6B@3+;EX5+%($1@B"o"ghhhBBF""""p"#+;#E"@\%;&55./;&(9P#&/>$%"&B"ippYm,;&1X$.;X/5)%;4%@n0Cc9e"n"l"6&;c+1&@BBF

p

6(<,0<"()*(

Y)1/4&ME5&+([.%%+*4&"V+"j"%&O"Y)1/4&ME5&+([.%%+*4&@nV+1+)#+nBFT%&O"ME5&+(@V+BX>:'":@BF

9,&1/)$

" public class MioSempliceThread extends C

implements Runnable {

public void run() {

//faccio qualcosa

}

}

" MioSempliceThread mst = new MioSempliceThread(…);

new Thread(mst).start();

UKD".%",$4$"J.,,$"()"&,&#.8)$%&

0+"7.)")%"/$)"#)",$%$"(.&"J.,,)

ME5&+(public class Java.lang.Thread {

public Thread Thread(){…}

public Thread Thread(Runnable target){…}

public void run(){…}

public void start(){…}

public static void sleep(long millisec) {…}

}

\,;+%8)+".%"$66&R$"Thread \,;+%8)+".%"$66&R$"Thread2"/+,,+%($64)".%"

target"#E&"$Q5&")4"1&;$($"run()

`??)+"4K&,&#.8)$%&"(&4";E5&+(F"4+"VW3")%?$#+")4"1&;$($"run()

\N")4"Thread"D",;+;$"#5&+;$"/+,,+%($64)".%"

target

Mq9c"#E)+1+")4",.$"1&;$($"run()2"()"G+R$"

1+%(+%($")%"&,&#.8)$%&"%&4"%.$?$";E5&+("+//&%+"#5&+;$")4"1&;$($"$Q&5;$"(+"target9aY9"%$%"G+"%.44+"&"5);$5%+")11&()+;+1&%;&

3&R&")4";E5&+(")%"/+.,+"/&5")4";&1/$",/&#)S#+;$

C)4-#+,)+<):'+,)+5*+:2"%',+

Y;+>")%"#.)",)"/.r";5$?+5&".%";E5&+(

1. c&O"ME5&+(

2. \%?$#+8)$%&"(&4"1&;$($",;+5;@B

3. `'?$– [.%%)%6

– c$;"[.%%)%6

4. 0&+(

Page 5: Thread in Java · me5&+(n4.,,$"()"&,&#.8)$%&")%()/&%(&%;& –:)44.,)$%&

U)#4$"()"?);+"()".%";E5&+("

" U5&+8)$%&"()".%"%.$?$"$66&R$"ME5&+(

Y)1/4&ME5&+([.%%+*4&"V+"j"%&O"Y)1/4&ME5&+([.%%+*4&@nV+1+)#+nBFME5&+("+.P"j"%&O"ME5&+(@V+BF

public void run() {

for (int i = 0; i < 10; i++) {

System.out.println(i + " " + getName());

try {

sleep((long)(Math.random() * 1000));

} catch (InterruptedException e) {}

}

System.out.println("DONE! " + getName());

}

C)4-#+,)+<):'+,)+5*+:2"%',

" \4"1&;$($"start()"#5&+"4&"5),$5,&"()",),;&1+"%&#&,,+5)&"+("&,&6.)5&")4";E5&+(2",#E&(.4+")4";E5&+("/&5"4K&,&#.8)$%&2"&(")%?$#+")4"1&;$($"run()

'5DE>:'":F@G

C)4-#+,)+<):'+,)+5*+:2"%',

" I%";E5&+("+//&%+"+??)+;$"D"%&44$",;+;$"3,##%4-1

C#,)4%+*%-+8%:#,#+run()

U)#4$"()"?);+"()".%";E5&+("

" I%";E5&+("()?&%;+"5"$+3,##%4-1"7.+%($",)"?&5)S#+".%$"()"7.&,>"&?&%>H– s")%?$#+;$")4",.$"1&;$($"sleep()

– \4";E5&+("#E)+1+")4"1&;$($"wait()+/&5"+R&%(&5&"#E&",)+",$((),G+R+".%+",/&#)S#+"#$%()8)$%&""^^"?&(&5&"($/$

– )4";E5&+("D")%"+R&,+"()"7IJ

,4&&/@@4$%6B@3+;EX5+%($1@B"o"ghhhBBF

Page 6: Thread in Java · me5&+(n4.,,$"()"&,&#.8)$%&")%()/&%(&%;& –:)44.,)$%&

U)#4$"()"?);+"()".%";E5&+("

" Z&5"$6%)")%65&,,$"%&44$",;+;$"5"$+3,##%4-12"#KD".%+"/5&#),+"&"(&S%);+",);.+8)$%&"#E&"4$"5)/$5;+")%"3,##%4-1– Y&")4";E5&+("D",;+;$"1&,,$")%",4&&/2"+44$5+")4"%.1&5$",/&#)S#+;$"()"1)44),&#$%()"(&?&"

/+,,+5&

– Y&")4";E5&+("D")%"O+)>%6",.".%+"#$%()8)$%&2"+44$5+".%"+4;5$"$66&R$"(&?&"%$>S#+5&"+("&,,$")4"#+1*)+1&%;$"()"#$%()8)$%&2"#E)+1+%($"notify()$""notifyAll()

– Y&")4";E5&+("D")%"+R&,+"()"7IJ2"+44$5+"4K\tC"(&?&"#$1/4&;+5&

U)#4$"()"?);+"()".%";E5&+("

" aK.4;&5)$5&"1&;$($"yield() 1&R&")%"/+.,+";&1/$5+%&+1&%;&")4";E5&+(2"/&51&R&%($"+("+4;5)"()"/+,,+5&"+44K&,&#.8)$%&

U)#4$"()"?);+"()".%";E5&+("

" \4"";E5&+("1.$5&"7.+%($")4"1&;$($"run() ;&51)%+"4+",.+"&,&#.8)$%&

7-+8%:#,#+"5*F@+:%"8)*'

/.*4)#"?$)("5.%@B"iG$5"@)%;")"j"hF")"k"ghF")llB"iYm,;&1X$.;X/5)%;4%@)"l"n"n"l"6&;c+1&@BBF

;5m"i"",4&&/@@4$%6B@3+;EX5+%($1@B"o"ghhhBBF

p"#+;#E"@\%;&55./;&(9P#&/>$%"&B"ip

pYm,;&1X$.;X/5)%;4%@n0Cc9e"n"l"6&;c+1&@BBF

p

U)#4$"()"?);+"()".%";E5&+("

" public boolean isAlive()+)%"ME5&+(

– [);$5%+"false",&")4";E5&+("D"%.$?$"@+//&%+"#5&+;$B"$"D"09`0

– [);$5%+"true",&")4";E5&+("D",;+;$"+??)+;$"&"%$%"G&51+;$"@7.)%()"D"[Icc`ua9"$"cCM"[Icc`ua9B

f.)%()"cCc",)"/.r"(),>%6.&5&"/5&#),+1&%;&";5+")"?+5)",;+>"

Page 7: Thread in Java · me5&+(n4.,,$"()"&,&#.8)$%&")%()/&%(&%;& –:)44.,)$%&

3-45*)+8%:#,)+,%--'+4-'>>%+12"%',1. public void start()

– `??)+")4";E5&+(!"+R&%8)$%&")%?$#+%($")4"1&;$($"run()"%$%"?)&%&"+??)+;$".%"%.$?$";E5&+("1+",&1/4)#&1&%;&")4"1&;$($"run()?)&%&"&,&6.);$"%&4";E5&+("#$55&%;&

2. public static void sleep(long millisec)– \4";E5&+("/+,,+"%&44$",;+;$"cCM"[Icc`ua9"/&5")4";&1/$",/&#)S#+;$2"

($/$"()"#E&";$5%+"%&44$",;+;$"[Icc`ua9

3. +public void yield()

– \4";E5&+("#&,,+"()"&,,&5&"[Icc\c-X"Y&"?)",$%$"1$4>";E5&+("[Icc`ua9")%"+R&,+2")4"1&;$($"6+5+%>,#&")4"/+,,+66)$"+(".%";E5&+("[Icc`ua9"()?&5,$",$4$",&"7.&,;$"E+"/5)$5);]"1+66)$5&"$".6.+4&

• a$"?&(5&1$")%"(&R+64)$"()",&6.);$

Hv

9,&5#)8)$1.[&+4)88+5&".%+"#4+,,&"_+?+"[.%%+*4&"#E&"5+//5&,&%;+".%";E5&+("/&5",;+1/+5&"@,&%8+"+%(+5&"+"#+/$B",."$.;/.;"ghh"?$4;&".%"#+5+R&5&"/+,,+;$"#$1&"/+5+1&;5$X"

– Y#5)?&5&".%"1+)%")%"#.)"?&%6$%$"#5&+>"+??)+>"(.&";E5&+(2"4+"/5)1+"#E&",;+1/+")4"#+5+R&5&"whK"&"4+",&#$%(+"wgK

– 9,&6.)5&"/)="?$4;&")4"/5$65+11+"&"?&5)S#+5&",&"4&",&7.&%8&"()"h"&"g"6&%&5+;&",$%$".6.+4)

2.Y$4.8)$%&!

– &,&5#)8)$U+5+R&5)hg

Hx

K%>L#*%+,%)+12"%',1. M#*+9"%%89L<%

– \4"6&,;$5&"%$%")%;&55$1/&"1+)".%";E5&+(")%"&,&#.8)$%&

– 9K"#)+,#.%";E5&+("#E&"#&(&")4"#$%;5$44$"(&44+"UZI")%"1+%)&5+"&,/4)#);+"@I/O2"sleep()2"yield()2"#$$5()%+1&%;$";5+";E5&+(B

2. "!"%%89L<%

– \4"6&,;$5&"/$%&")%"/+.,+".%";E5&+(!

• `",.(()?),)$%&"()";&1/$"@/&5)$($"()";&1/$"()"UZI"+44$#+;$"+("$6%)";E5&+(B

• c$%"+",.(()?),)$%&"()";&1/$"@/5)$5);]"(&)";E5&+(B

Hy

K%>L#*%+,%)+12"%',+)*+;3N3"@\(&+41&%;&",&#$%($",/&#)S#E&B

1. "!"%%89L<%

– `",&4&8)$%&"()";E5&+("[Icc`ua9"#$%"/5)$5);]"/)="+4;+

– "YCaC"Ic"Mq[9`0"&,&6.);$";5+";E5&+("()"/+5)"/5)$5);]"@,#&4;+"5$.%(^5$*)%B

2. "c$%"#KD2")%"6&%&5+4&2",.(()?),)$%&"()";&1/$"%&)";E5&+(")1/4&1&%;+>"%&44+"V+?+"W3"@#4+,,&"ME5&+(B

Hb

Page 8: Thread in Java · me5&+(n4.,,$"()"&,&#.8)$%&")%()/&%(&%;& –:)44.,)$%&

M#:'+>5--'+>5,,)<)>)#*%+,)+:%89#1. Y/&#)S#E&"(&44+"V+?+"W)5;.+4"3+#E)%&"%$%")%()#+%$"#$1&")"

;E5&+("V+?+"(&**+%$"&,,&5&"1+//+>",.";E5&+("%+>?)"(&4",X$X

3. "Z.r"&,),;&5&"4K)1/4&1&%;+8)$%&"()";E5&+("%+>?)"()",),;&1+"+",.(()?),)$%&"()";&1/$– \%"6&%&5+4&"()/&%(&%8+"(+44+"/)+R+G$51+

– 9,X")%"z)%($O,cM"+"#)+,#.%";E5&+(".%"/5$#&,,$"()",),;&1+"6&,>;$"+",.(()?),)$%&"()";&1/$

4. "c$%"#$%S(+5&"%&44+",.(()?),)$%&"()";&1/$e– `($R+5&";&#%)#E&":,+66&<"@?&()"($/$eB

H{

!")#"):O+,%)+12"%',1. public final static int MAX_PRIORITY = 10

2. public final static int NORM_PRIORITY = 5

3. public final static int MIN_PRIORITY = 1

5. public final int getPriority()

6. public final void setPriority(int newPriority)

– W+4$5)"+11&,,)";5+"g"&"gh

Lh

M#:'+>5--'+9")#"):O1. 3+//)%6"/5)$5);]";E5&+("V+?+",."/5)$5);]";E5&+("%+>?)"(&4",X$X"

()/&%(&%;&"(+"/)+R+G$51+

2. "Z$,,$%$"&,),;&5&")1/4&1&%;+8)$%)"()";E5&+("%+>?)"#E&"%$%";&%6$%$"#$%;$"(&44&"/5)$5);]"(&)";E5&+("V+?+"@&,X"a)%.P")%"+4#.%&"1$(+4);]B

3. "`($R+5&";&#%)#E&":,+66&<"/&5"6+5+%8)+"()"/$5;+*)4);]"@?&()"($/$eB

Lg

12"%',H+'-45*%+:%4*)42%1. c$%".,+5&"#)#4)")%S%)>"$"/5&?&(&5&"%&4"#)#4$!

– $/&5+8)$%)"()".ER

– G+,)"()"2<((#

– $/&5+8)$%)"()"0++%-")$'()*+,*%$,*H%($-

2. [)#E)+1+5&")4"1&;$($"S"(<-,)(<,0$2+,-",;E5&+("#$%"$/&5+8)$%)"UZI^*$.%(– 5)4+,#)$"?$4$%;+5)$"()"UZI

3. "3+)"G+5&"+|(+1&%;$"#$1/4&;$",.4">1&,4)#)%6"%D",$4$",.44+"/5)$5);]"/&5"#$%,&6.)5&"/$5;+*)4);]

LH

Page 9: Thread in Java · me5&+(n4.,,$"()"&,&#.8)$%&")%()/&%(&%;& –:)44.,)$%&

.4#9%+,%--%+<'")'P)-)+*%)+:2"%',1. W+5)+*)4)"()"1&;$($"@)%#4.,)"/+5+1&;5)B",$%$"4$#+4)"+(".%";E5&+(

– `44$#+;&"%&44$",;+#A"4$#+4&"()"#)+,#.%";E5&+(

– 3$()S#E&"G+R&"+"?+5)+*)4)"4$#+4)"()".%";E5&+("%$%",$%$"G+R&"+"?+5)+*)4)"4$#+4)"()".%"+4;5$";E5&+(

2. "W+5)+*)4)"()"),;+%8+",$%$"#$1.%)"+";.'")";E5&+("#E&"+##&($%$"+"7.&44K),;+%8+""

3. W+5)+*)4)"()"#4+,,&",$%$"#$1.%)"+";.'")";E5&+("%&4"5.%>1&

5. `R&%8)$%&"+("+##&(&5&")%"1+%)&5+"#$%#$55&%;&"+(".%+",;&,,+"?+5)+*)4&"(+"/+5;&"()"/)=";E5&+(– C##$55$%$"5&6$4&"()",)%#5$%)88+8)$%&e

– a$"?&(5&1$")%",&6.);$

LL

9,&1/)$+ public class Test {

static int staticVAR; II+:56+)+:2"%',+*%-+"5*L8%+

+ + Object instanceVAR;+++++++++++++++++II+:56+)+:2"%',+42%+'44%,#*#+

'--'

+ + + + + + + + +++++++++++++++++II+>:%>>'+)>:'*('+,)+1%>:

+ + void methodFOO(int paramP) {

+ + + ++int localVAR = paramP;+++II+#$*)+:2"%',+2'+)-+>5#

+ + + …

}

}

9,&1/)$";E5&+("#$%"?+5"4$#+4)1.9,&1/)$"&,&1/)$Y&1/4)#&

– 0.&";E5&+("#$55$%$"#$%#$55&%;&1&%;&

3&;$($"#.55&%;ME5&+(

1. a+"#4+,,&"Thread #$%>&%&")4"1&;$($",;+>#"

currentThread()"#E&"5);$5%+")4"Thread

#$55&%;&

Lx

Page 10: Thread in Java · me5&+(n4.,,$"()"&,&#.8)$%&")%()/&%(&%;& –:)44.,)$%&

Y\cU[Cc\}}`}Cc9

Y)%#5$%)88+8)$%&"&"#$$/&5+8)$%&";5+";E5&+(

1.Y)%#5$%)88+8)$%&

– I%";E5&+("/.r")%;&5+6)5&"#$%"+4;5)";E5&+(",)%#5$%)88+%($"4&"/5$/5)&"+8)$%)")%"G.%8)$%)"(&64)"+4;5)";E5&+(2"/&5")4"5+66).%6)1&%;$"()".%"S%&"#$1.%&• `("&,&1/)$".%";E5&+("/$;5&**&"1&R&5,)")%"+R&,+"#E&".%"+4;5$";E5&+(";&51)%)"/&5"/$;&5"/5$,&6.)5&"4K&4+*$5+8)$%&

• W)&%&".>4)88+;+"/&5"#$%;5$44+5&"#E&")4"J.,,$"(&44&"&4+*$5+8)$%)"/+5+44&4&"+??&%6+",&%8+"/5$*4&1)

2.U$$/&5+8)$%&– Y)";5+R+"()".%"/+,,$".4;&5)$5&")%"#.)")";E5&+(",)",)%#5$%)88+%$"/&5"/$;&5,)",#+1*)+5&"(+>• I%">/)#$"&,&1/)$"D")4"/+5+()61+"Z5$(.R$5&tU$%,.1+;$5&")%"#.)"4K$.;/.;"()".%";E5&+("()?&%;+")%/.;"/&5".%"+4;5$

Y)%#5$%)88+8)$%&

" \4";E5&+(g"+??)+"+4;5)";+,A"/+5+44&4)"/&5"/$)"1&R&5,)")%"+R&,+"(&4"4$5$"#$1/4&;+1&%;$"/&5"#$%>%.+5&")4"/5$/5)$";+,A

U$$/&5+8)$%&

" \";E5&+("#$%()?)($%$"5),$5,&"#$1.%)",."#.)"4+?$5+5&– \";E5&+("$4;5&"+",)%#5$%)88+5,)",)",#+1*)+%$"1&,,+66)

– aK$.;/.;"()".%";E5&+("/.r"&,,&5&"4K)%/.;"/&5".%"+4;5$"&"$##$55$%$",;5.R.5&"#$%()?),&"#E&"/&51&R+%$"4+"#$1.%)#+8)$%&";5+";E5&+(

Page 11: Thread in Java · me5&+(n4.,,$"()"&,&#.8)$%&")%()/&%(&%;& –:)44.,)$%&

ME5&+(")%"V+?+!"U5&+8)$%&"&"M&51)%+8)$%&1. U5&+8)$%&"()";E5&+(

– ,)"#5&+%$"$66&'"),;+%8&"(&44+"#4+,,&"java.lang.Thread• \4";E5&+("?)&%&"&Q&'?+1&%;&"#5&+;$"(+44+"VW3"%$%"+//&%+",)"5)#E)+1+")4"1&;$($"start()

• \4"%.$?$";E5&+("&,&6.&")4"1&;$($"run()

2. M&51)%+8)$%&"()";E5&+(– )";E5&+(";&51)%+%$"7.+%($"

• S%),#&"4K&,&#.8)$%&"(&4"1&;$($"run()

• ,$%$",;+>")%;&55$'"#$%")4"1&;$($"interrupt()

• &##&8)$%)"&("&55$5)

3. V$)%"#$%";E5&+(– 5)#E)+1+%($")4"1&;$($"join() ,.".%"$66&R$"Thread ,)"*4$##+")4";E5&+("#$55&%;&",)%$"+44+";&51)%+8)$%&"(&4";E5&+("+,,$#)+;$"+";+4&"$66&R$

\%;&55.8)$%&"()"ME5&+(1.I%";E5&+("/.r")%;&55$1/&5&".%"+4;5$";E5&+(")%?$#+%($")4"1&;$($"interrupt() (&4"

#$55),/$%(&%;&"$66&R$"Thread

2. \%"5&+4;]")4";E5&+(")%;&55$1/&%;&",&6%+4+"4+"5)#E)&,;+"()")%;&55.8)$%&",&R+%($".%"J+6")%";+4&"$66&R$

3. \%"6&%&5+4&")4";E5&+(")%;&55$R$"%$%",&5?&"4+"5)#E)&,;+"()")%;&55.8)$%&")11&()+;+1&%;&

4. \%?&#&",$44&?+".%+"&##&8)$%&")%"+4#.%)"1$1&%>"(&44+",.+"&,&#.8)$%& ~H

_+?+X4+%6X\%;&55./;&(9P#&/>$%1. \4";E5&+(")%;&55$R$",&5?)5]"4+"5)#E)&,;+"()")%;&55.8)$%&"

)%"$//$5;.%)"1$1&%>F";5+")"7.+4)– (.5+%;&"4K&,&#.8)$%&"()".%+"sleep()

– +4"1$1&%;$"(&44K)%?$#+8)$%&"()".%+"sleep()

– (.5+%;&"4K&,&#.8)$%&"()".%+"wait()

2. \4";E5&+(")%;&55$R$",$44&?+".%+ java.lang.InterruptedException– )%",&6.);$"4K)%;&55.8)$%&",)"#$%,)(&5+",&5?);+"&(")4"J+6"()")%;&55.8)$%&"?)&%&"5&,&R+;$

3. \%"7.&,;$"1$($",)"/$,,$%$"/5$65+11+5&";E5&+("#E&",)+%$")%;&55$'",$4$"%&)"/.%>"?$4.>2",&%8+":;5+.1)<

4. 6TUT,<(,9(00H"(,"'#<('()*$?"+)",-(<<$,VW>,H$))+,'+2*%$*+,*JL,",#%+G<('",-(<<(,2+<J?"+)",#%(0(-()& ~L

Y4&&/\%;&55./;X_+?+"@gtHB/.*4)#"#4+,,"Y4&&/\%;&55./;")1/4&1&%;,"[.%%+*4&"i

"" "/.*4)#"?$)("5.%@B"i

"""" """"""";5m"i

""""" " """Ym,;&1X$.;X/5)%;4%@n)%"5.%@BnBF

""""""" """"ME5&+(X,4&&/@HhhhhBF

""""""" """"Ym,;&1X$.;X/5)%;4%@n)%"5.%@B"^"O$A&"./nBF

""""" """"""p"#+;#E"@"7*:%""59:%,=D4%9L#*+D+B"i

"""""""""""""""""""Ym,;&1X$.;X/5)%;4%@n)%"5.%@B"^")%;&55./;&("OE)4&",4&&/)%6nBF

"""""""""""""""""""5&;.5%F

""""""""""""p

" """""Ym,;&1X$.;X/5)%;4%@:S%&nBF

"""""p

p

"

~~

Page 12: Thread in Java · me5&+(n4.,,$"()"&,&#.8)$%&")%()/&%(&%;& –:)44.,)$%&

Y4&&/\%;&55./;X_+?+"@HB

" /.*4)#",;+>#"?$)("1+)%@Y;5)%6��"+56,B"i

" " Y4&&/\%;&55./;",)"j"%&O"Y4&&/\%;&55./;@BF

" " ME5&+(";"j"%&O"ME5&+(@,)BF

" " ;X,;+5;@BF

" " tt"u&",.5&";E+;";E&"%&O";E5&+("6&;,"+"#E+%#&";$"5.%"G$5"+"OE)4&

" " ;5m"i"ME5&+(X,4&&/@HhhhBF"p"

" " #+;#E"@"\%;&55./;&(9P#&/>$%"P"B"i"p

" " Ym,;&1X$.;X/5)%;4%@n)%"1+)%@B"^")%;&55./>%6"$;E&5";E5&+(nBF

+ + :E)*:%""59:F@G

" " Ym,;&1X$.;X/5)%;4%@n)%"1+)%@B"^"4&+?)%6nBF

" p

~v

V$)% void join()

– `R&%(&"#E&")4";E5&+("1.$)+

void join(long mills)

– `R&%(&"+4"/)="mills 1)44),&#$%()"4+"1$5;&"(&4";E5&+(

_$)%@B"()".%"ME5&+(

~y

9,&1/)$"V$)%1.9,&1/)$"&,&1/)$V$)%

– \44.,;5+".,$"V$)%@B

Page 13: Thread in Java · me5&+(n4.,,$"()"&,&#.8)$%&")%()/&%(&%;& –:)44.,)$%&

C##9%"'()#*%+:"'+:2"%',

1.U)",$%$"1$4;&",);.+8)$%)")%"#.)"()?&5,)";E5&+("#$%#$55&%>")%"&,&#.8)$%&"#$%()?)($%$"4&"1&(&,)1&"5),$5,&X"C6%)";E5&+("(&?&";&%&5"#$%;$"(&44$",;+;$"&"(&44&"+'?);]"(&64)"+4;5)X

2.W),;$"#E&")";E5&+("#$%()?)($%$".%+"5),$5,+"#$1.%&2"(&?$%$"&,,&5&",)%#5$%)88+>")%"7.+4#E&"1$($")%"1$($"(+"/$;&5"#$$/&5+5&XME5&+("` ME5&+("u

[),$5,&

O5);& 5&+(~{

9,&1/)$"+##&,,$"+"(+>"#$%()?),)1.9,&1/)$"U$%;+;$5&

– %$%",m%#E5$%)8&(

– ,m%#E5$%)8&(

`##&,,$"#$%#$55&%;&"+(".%"$66&R$1.0.&";E5&+("#E&".>4)88+%$".%"$66&R$")%;&51&()$"/&5",#+1*)+5,)"(+>2".,+%($")"1&;$()"6&;"&"/.;"/&5"4&66&5&t,#5)?&5&"(+>

ME5&+("g

5.%@B

ME5&+("H

5.%@BJ$$%&#++

/.;@)%;")B

4),;!"(+;+)%;"+?+)4+*4&

6&;@B!)%;

vg

Q#4R+,)+#$$%6+F>S*42"#*)(%,@

1. I%"$66&R$"#$%()?),$";5+".%";E5&+("Z5$(.R$5&"@;E5&+("gB"&(".%$"U$%,.1+;$5&"@;E5&+("HB– Y)%#5$%)88+8)$%&"*+,+;+",."+#7.),)8)$%&"&"5)4+,#)$"()".%"4$#A",.".%"$66&R$

– Y$4$")4";E5&+(")%"/$,,&,,$"(&4"4$#A"/.r".,+5&"4K$66&R$")%;&51&()$

2. [),$4.8)$%&"(&44&":5+#&"#$%()>$%,<";5+";E5&+("@^�"(+;+")%;&65);mB

4. `#7.),)8)$%&t5)4+,#)$"4$#A"()".%"$66&R$"&Q&R.+;+"+.;$1+>#+1&%;&"&("+;$1)#+1&%;&"(+4"V+?+"[.%>1&"9%?)5$%1&%;"@V[9B"@^�"C66&'"($;+>"()"1$%);$5B– a$#A"*+,+;$",.44+"A&mO$5A",m%#E5$%)8&(

5. N%,)'8#+)*+,%&'$-)#+! T#*):#" vH

Page 14: Thread in Java · me5&+(n4.,,$"()"&,&#.8)$%&")%()/&%(&%;& –:)44.,)$%&

3$%);$5tg1. :U.,;$(&<"()".%"$66&R$"#E&"(&;&51)%+"4K+##&,,$"+",.$)"#$1/$5;+1&%>"@1&;$()"&",&8)$%)"()"#$()#&B

2.3.;.+"&,#4.,)$%&",."65.//)"()"/5$#&(.5&"– I%";E5&+("+44+"?$4;+")%"&,&#.8)$%&"@+4;5)";E5&+(",$,/&,)B

3. \%"V+?+"4+"/+5$4+"#E)+?&"D"&6#7/0"#(812– c&44+",)6%+;.5&"(&4"1&;$($"()".%"$66&R$"@%$%",$4$XXXB

– Y."&,&#.8)$%&"()":,m%#E5$%)8&(<2"?&5)S#+"(+"/+5;&"(&4"1$%);$5",.44K.,$"(&44K$66&R$"&("+##&,,$"6+5+%>;$"$"*4$##+;$"+4";E5&+(

– U$(+"()";E5&+("/&5"4K+##&,,$"+4"1&;$($"2S)0H%+)"?(-,-",.%"$66&R$

4.3$%);$5"$66&R$"5)4+,#)+;$"(+4";E5&+("+"S%&"&,&#.8)$%&"()"1&;$($"@$",&8)$%&B",m%#E5$%)8&(

vL

3$%);$5tHC#>'+>)*4"#*)(()'8#

gX 3&;$()"()"),;+%8+"@95P-)4+>S*42"#*)(%,UB– \"1&;$($"()"),;+%8+",m%#E5$%)8&("/.r"&,,&5&"+'?$")%".%"(&;&51)%+;$"

1$1&%;$

HX 3&;$()",;+>#)"()"#4+,,)"@95P-)4+>:'L4+>S*42"#*)(%,UB– 1$%);$5"/&5"#4+,,&"#E&"5&6$4+"4K+##&,,$"+";.'")"1&;$()",;+>#"()"7.&44+"#4+,,&

– Y$4$".%"1&;$($",;+>#",m%#E5$%)8&("/.r"&,,&5&"+'?$")%".%"(&;&51)%+;$"1$1&%;$

LX Y)%6$4)"*4$##E)"()"),;5.8)$%&2"#$%;5$44+>"(+".%+"?+5)+*)4&"$66&R$>S*42"#*)(%,+F#$$%&#@+V7>:"5()#*%W

– 9,/5&,,)$%&"5&,>;.),#&".%"$66&R$2"cCc".%">/$",&1/4)#&

– I,+;+"/&5",)%#5$%)88+5&"1&;$()"%$%",)%#5$%)88+*)4)"@+("&,X"#$%;5$44$"+##&,,$"+64)"$66&'"+55+mB

– a+",)%#5$%)88+8)$%&"?)&%&"G+R+")%"*+,&"+44K$66&R$"&".%",$4$"*4$##$",m%#E5$%)8&(",.".%"/+5>#$4+5&"$66&R$"/.r"&,,&5&"+'?$")%".%"(&;&51)%+;$"1$1&%;$• cu!",&"4+",)%#5$%)88+8)$%&"?)&%&"G+R+",."),;+%8&"()Q&5&%>2")"(.&"*4$##E)"%$%",+5+%%$"

1.;.+1&%;&"&,#4.,)?)e

v~

Y#E&1)"()".>4)88$

vv

>S*42"#*)(%,"?$)("1&;$($g@B"iTp+>S*42"#*)(%,"?$)("1&;$($H@B"iTp

>:'L4+>S*42"#*)(%,"?$)("1&;$($g@B"iTp+>:'L4+>S*42"#*)(%,"?$)("1&;$($H@B"iTp

?$)("1&;$($g@Y;5)%6"/+5+1B"i" >S*42"#*)(%,@/+5+1Bi""""""""""""""""T" pp

T%:#,)+*#*+>)*4"#*)(('L

1.c$%")%;&5/&44+%$")4"1$%);$5"()".%"$66&R$

2. \6%$5+%$")4"1$%);$5"&"?&%6$%$"&,&6.)>"5&6$4+51&%;&"(+"7.+4,)+,)";E5&+("%&"G+##)+"5)#E)&,;+

3.0+"5)#$5(+5&!

– .%",$4$";E5&+("+44+"?$4;+"/.r"&,&6.)5&"1&;$()"2S)0H%+)"?(-

– .%"7.+4,)+,)"%.1&5$"()";E5&+("/.r"&,&6.)5&"1&;$()"%$%"2S)0H%+)"?(-

vx

Page 15: Thread in Java · me5&+(n4.,,$"()"&,&#.8)$%&")%()/&%(&%;& –:)44.,)$%&

9,&1/)$"#$(+"4)1);+;+"#$%()?),+1.9,&1/)$"#$(+"4)1);+;+"#$%()?),+"#$%"&55$5)

2.9,&1/)$"#$%"+66).%;+"()"/+5>",m%#E5$%)8&(

UCC[0\c`39cMC

a)1)>"(&44+",$4+",)%#5$%)88+8)$%&1. aK.,$"(&44+",)%#5$%)88+8)$%&"/&51&R&"()"6&,>5&"4K+##&,,$"

1.4>/4$"+("+)"1&;$()"()".%"$66&R$")%"1+%)&5+",+G&– U$1&"6&,>5&")%?&#&"4K)%;&5+8)$%&"()">/$"Z5$(.R$5&tU$%,.1+;$5&�• \%"/+5>#$4+5&""7.+4)"1&##+%),1)"/$,,$"".,+5&"/&5"*4$##+5&"+("&,&1/)$")4"U$%,.1+;$5&"7.+%($"%$%"#)",$%$"(+>"(),/$%)*)4)�"

• `%+4$6+1&%;&"#$1&"*4$##$")4"/5$(.R$5&",&"%$%",$%$"(),/$%)*)4)"+5&&")%"#.)",+4?+5&")"(+>�

2. q$"*),$6%$"()"/5)1)>?&"+66).%>?&!– notify()2"notifyAll()2"wait()

4. Y)";5+R+"()"/5)1)>?&"#E&"5)#$5(+%$"X$"*,&"2"A)$<,(&)"2('$/+%",@?&()"#$5,$"Y),;&1)"C/&5+>?)B"&"#E&"/&51&R$%$")%"_+?+"()"5)4+,#)+5&")4"4$#A",.".%+"5),$5,+",)%#5$%)88+;+"&"()" v{

C##",)*'8%*:#

1.U$%()8)$%)"+44K)%;&5%$"()".%"1&;$($",)%#5$%)88+;$while (!la condizione che desidero) {

wait();

}

2.`R&,+– ME5&+("/$,;$")%"/+.,+"%&44+"#$(+"()"+R&,+"(&4"1$%);$5"(&44K$66&R$"@,;+;$"cCM"[Icc`ua9B

3.c$>S#+

– ME5&+("5)1$,,$"(+44+"#$(+"()"+R&,+"(&4"1$%);$5"(&44K$66&R$"&"/$,;$")%"&,&#.8)$%&"#$%"4+",&6%+4+8)$%&"#E&"4+"#$%()8)$%&"(&,)(&5+;+"D"?&5+

xh

Page 16: Thread in Java · me5&+(n4.,,$"()"&,&#.8)$%&")%()/&%(&%;& –:)44.,)$%&

0'):X+*#LBSX+*#LBS3--+,%--'+4-'>>%+JPY%4:1. public final void wait()

2. public final void wait(long millisec)

3. public final void wait(long millisec, int nanosec)

– 0&;&51)%+%$"4K+R&,+"()".%";E5&+("S%$"+44K)%?$#+8)$%&"()"notify()2"notifyAll()2"+44+",#+(&%8+"(&4">1&$.;"$"+44+",.+")%;&55.8)$%&"+R5+?&5,$"4K)%?$#+8)$%&"()")%;&55./;@B

4. public final void notify()

– [),?&64)+".%";E5&+(",/&#)S#$")%"+R&,+",.44+"#$(+"(&4"1$%);$5"(&44K$66&R$

5. public final void notifyAll()

– [),?&64)+";.'")";E5&+(")%"+R&,+",.44+"#$(+"(&4"1$%);$5"(&44K$66&R$

6. \"1&;$()"wait ,$%$")%?$#+*)4)",$%$"+44K)%;&5%$"()".%"*4$##$",)%#5$%)88+;$

xg

T%:2#,+.588'"S1. ?$)("*#LBS@B"

z+A&,"./"+",)%64&";E5&+(";E+;"),"O+)>%6"$%";E),"$*_&#;�,"1$%);$5X

2. ?$)("*#LBS3--@B"z+A&,"./"+44";E5&+(,";E+;"+5&"O+)>%6"$%";E),"$*_&#;�,"1$%);$5X

3. ?$)("0'):@B"U+.,&,"#.55&%;";E5&+(";$"O+);".%>4"+%$;E&5";E5&+(")%?$A&,";E&"%$>Gm@B"1&;E$("$5";E&"%$>Gm`44@B"1&;E$("G$5";E),"$*_&#;X

4. ?$)("0'):@4$%6">1&$.;B"U+.,&,"#.55&%;";E5&+(";$"O+);".%>4"&);E&5"+%$;E&5";E5&+(")%?$A&,";E&"%$>Gm@B"1&;E$("$5";E&"%$>Gm`44@B"1&;E$("G$5";E),"$*_&#;2"$5"+",/&#)S&("+1$.%;"$G">1&"E+,"&4+/,&(X

5. ?$)("0'):@4$%6">1&$.;2")%;"%+%$,B"

9,&1/)$1.Y)1.4+5&"4K+%(+1&%;$"()".%+"#+;&%+"()"1$%;+66)$"/&5"4+"4+?$5+8)$%&"(&4"4&6%$"&"4+"#$%,&6.&%;&"/5$(.8)$%&"()";+?$4)"&",&()&"

– 0),/$%)*)4);]"()".%"1+6+88)%$"+"#+/+#);]"4)1);+;+• U+1*)+5&"4&"?&4$#);]"()"4+?$5+8)$%&"/&5"?&(&5&"4&"/5$(.8)$%)"#$1&"#+1*)+%$

xL

!"#,5&#"%

@Z5&/+5+")4a&6%$B

3+6+88)%$"4&6%$

C#*>58':#"%

@5&+4)88+";+?$4)B

C#*>58':#"%

@5&+4)88+",&()&B90"2,71+:;+-1)#(+%-+<(#,$"

=>+?188"+2(+-1)#"+")#(+@A;+<&B

C-+<%)%88(#"+?,D+7"#$1#101+E#"+

%+F;+?188(

G(+?0"2,7"#"+H+$%I"-(+%-+<(#,$"+

=>+")#(+>F+&17"#2(B

J)#(+$%I"-"+0(7/(121+K+$%I"-1

G(+?0"2,7"#"+H+&12(1+%-+<(#,$"L

J)#(+&12(%+0(7/(121+H+$%I"-1

0)Q&5&%8+";5+"%$>Gm"&"%$>Gm`44

x~

CJZ3+,)+%-%8%*L+

>S*42"#*)(%,++((@TB

>S*42"#*)(%,+5&1$?&@TBU$(&"()"+R&,+

Z5$(.R$5&"c@&P&#.;&B

Y.//$%)+1$"#E&"($/$"4K&,&#.8)$%&"(&4"1&;$($"',,"(+"/+5;&"(&4":?0"2,M"01+5<"4+"#$(+",)"5)&1/)+2"?)&%&"&,&6.);$"*#LBS+&"5),?&64)+;$".%",$4$";E5&+("@,.//$%)+1$"Z5$(.R$5&"LBX\4"1&;$($"',,+?)&%&"&,&6.);$"1+"4+"#$(+"D"/)&%+"&"7.)%()")4";E5&+(";$5%+")%"0'):X"!\4"/5$*4&1+"D"#E&"%$%"?)&%&"+??)+;$"%&,,.%"+4;5$";E5&+("&"4+",);.+8)$%&",)"*4$##+"!Y&",)".>4)88+,,&"*#LBS3--+?&55&**&5$"5),?&64)+>";.'")";E5&+(2".%$"($/$"4K+4;5$2"&"7.)%()"/5)1+"$"/$)";$##E&5&**&"+%#E&"+(".%";E5&+("#$%,.1+;$5&

%$>Gm

?$)("+((@Bi""OE)4&@/)&%+BiO+);@BFp""+66).%6)"+44+"4),;+""%$>Gm@Bp

9+"-,%('+9(YZ[

,,XH"<(Y\9J+*$Z[X$"*YZ]^

,,%"'J+9",$<<$,<"2*$

,,)+&/SYZ

^

Page 17: Thread in Java · me5&+(n4.,,$"()"&,&#.8)$%&")%()/&%(&%;& –:)44.,)$%&

9,&1/)$"#$(+"4)1);+;+"#$%()?),+

1.9,&1/)$"#$(+"4)1);+;+"#$%()?),+"#$%".,$"()wait()"&"notifyAll()

Z%',-#4R/.*4)#"#4+,,"0&+(4$#A")1/4&1&%;,"[.%%+*4&"i

" 0&+(4$#A"65+*\;F

""""" /.*4)#",m%#E5$%)8&("?$)("5.%@B"i

" " ;5m"iME5&+(X,4&&/@HhhhBFp"#+;#E"@\%;&55./;&(9P#&/>$%"&B"ip

" " 65+*\;X,m%#3&;E$(@BF

" p

" /.*4)#",m%#E5$%)8&("?$)(",m%#3&;E$(@B"i

" " ;5m"iME5&+(X,4&&/@HhhhBFp"#+;#E"@\%;&55./;&(9P#&/>$%"&B"ip

" " Ym,;&1X$.;X/5)%;4%@nY$%$")%",m%#3&;E$(nBF

" p

p

""""/.*4)#",;+>#"?$)("1+)%@Y;5)%6��"+56,B"i

" 0&+(4$#A"(g"j"%&O"0&+(4$#A@BF

" 0&+(4$#A"(H"j"%&O"0&+(4$#A@BF

" ME5&+(";g"j"%&O"ME5&+(@(gBF

" ME5&+(";H"j"%&O"ME5&+(@(HBF

+ ,?E$"'P7:+[+,AG

+ ,AE$"'P7:+[+,?G

" ;gX,;+5;@BF xx

;g"#E)+1+")4"1&;$($",m%#E5$%)8&(5.%",."(g"#E&2"($/$"4$",4&&/2#E)+1+",m%#3&;E$(",."(HF"1+")41$%);$5"()"(H"D")%"/$,,&,,$"()";H#E&"4$"E+"+??)+;$")%?$#+%($")41&;($($",m%#E5$%)8&("5.%",."(H#E&2"($/$"4$",4&&/2"#E)+1+,m%#3&;E$(",."(g")4"#.)"1$%);$5"D)%"/$,,&,,$"()";g"#E&"4$"E++??)+;$X";g"+,/&R+";H"#E&+,/&R+";g"eee

\"/5)%#)/+4)"1&;$()"(&)"ME5&+(

xy

static ThreadcurrentThread() Returns a reference to the currently executing thread object.

voiddestroy()Deprecated.

longgetId()Returns the identifier of this Thread.

StringgetName() Returns this thread's name.

intgetPriority() Returns this thread's priority.

ThreadGroupgetThreadGroup() Returns the thread group to which this thread belongs. voidinterrupt() Interrupts this thread.

booleanisAlive() Tests if this thread is alive.

\"/5)%#)/+4)"1&;$()"(&)"ME5&+(tH

xb

voidjoin() Waits for this thread to die.

void join(long millis) Waits at most millis milliseconds for this thread to die. voidresume()Deprecated.

voidrun()

static voidsleep(long millis)

voidstart()

voidstop() Deprecated.

voidstop(Throwable obj) Deprecated.

voidsuspend() Deprecated.

static voidyield() Causes the currently executing thread object to temporarily pause and allow other threads to execute.