Professional Documents
Culture Documents
28 Swingthreads PDF
28 Swingthreads PDF
See also:
an' 'one*+
Pu,lis&ing
22 Mar 2010
Threads in Swing
Swing
rogra"s &ave "ulti le t&rea's: t&rea' *"ain*+ setu ,e%ore .U(+ 'is at$& t&rea' *intera$ts w-.U(+ wor#er t&rea's you $reate
(nit
/vent 0ny
t&rea's &ave to as# t&e event 'is at$& t&rea' to u 'ate t&e .U(
Swing
Su,$lass o% T&rea' t&at allows you to: De%ine t&e tas# to ,e 'one in ,a$#groun' 4un $o'e on t&e event 'is at$& t&rea'
w&en t&e wor#er t&rea' is 'one to t&e event 'is at$& t&rea'
rogress u 'ates %ro" t&e wor#er t&rea' to t&e event 'is at$& t&rea' ro erties: w&en t&e wor#er t&rea' $&anges t&e"2 events get sent to t&e event 'is at$& t&rea'
CMPT166: threads in Swing 22 Mar 2010 4
De%ine ,oun'
%sing Swing
or!er
or!er (
or!er)*+age, -oid.
ty e is sa"e as in te" late only "o'i%y lo$al varia,les result o% t&e long6running tas#
22 Mar 2010 $
/u"li# 6oid done12 ( try ( +y0utton7set*#on1 get12 28 4 e'#e/t 1*nterru/ted9'#e/tion e2 ( 4 e'#e/t 19'e#ution9'#e/tion e2 ( 4
T&is "et&o' is run on t&e event 'is at$& t&rea' 7ot $alle' until t&e wor#er t&rea' &as %inis&e'
get*+
Create an instan$e o% your su,$lass o% SwingWor#er an' $all its .e!e$ute*+ "et&o'
22 Mar 2010
or!er
e6ent listener for "utton
1new Swing or!er)*+age*#on, -oid.12 ( /u"li# *+age*#on do*n0a#!ground12 ( *+age*#on i+g ; 1*+age*#on2 ser6er*n7getO">e#t128 anony+ous #lass return i+g8 slow tas! 4 /u"li# 6oid done12 ( get o"> returned "y try ( do*n0a#!ground12 +y0utton7set*#on1 get12 28 run "y 4 e'#e/t 1*nterru/ted9'#e/tion e2 ( e6ent dis/7 4 e'#e/t 19'e#ution9'#e/tion e2 ( thread 4 4 start the thread 427e'e#ute128 4
CMPT166: threads in Swing 22 Mar 2010 <
u,lis&*+:
1verri'e
Su++ary of Swing
1new Swing
or!er
or!er)*+age*#on, &loat.12 ( /u"li# *+age*#on do*n0a#!ground12 ( @@ long tas! @@ /eriodi#ally #all /u"lish12 with an u/date @@ return an *+age*#on 4 /u"li# 6oid /ro#ess1 Aist)&loat. u/dates 2 ( @@ u/date /rogress "ar %*, et#7 4 /u"li# 6oid done12 ( try ( @@ get12 *+age*#on result, then set*#on12, et#7 4 e'#e/t 1*nterru/t9'#e/tion e2 ( 3 4 4 427e'e#ute128
22 Mar 2010
10
$&e$# i% we;ve ,een $an$elle': i% *isCan$elle'*++ $an$el*true+ instea' o% 5ust $an$el*+ t&rea' re$eives (nterru t/!$e tion
Wor#er 1nly
i% wor#er t&rea' is 'oing so"et&ing t&at $an raise (nterru t/!$e tion: T&rea'.slee *+2 networ# sen'-re$eive2 <
CMPT166: threads in Swing 22 Mar 2010 11