Vous êtes sur la page 1sur 2

GL4-

INSAT
TD2 
:Syst
èmesTempsRéel
Thr
eads-Jav
a
Pr
imitivessurl est hr eads:
 v oidset Priorit
y(i ntnewPr i
orit
y)
 st aticvoidy i
eld()
 sy nchroni zed(unObj et) 
{/ /section crit
ique}
 l.l
ock( )
;/ /sect i
on criti
quel .
unlock();
 st aticThr eadcur rentThread(): Permetd' obt enirl
et hreadcour ant
.
 st aticvoidy i
eld(): Laisseunechanceauxaut resthreadsdes' exécuter.
 st aticvoidsl eep( longms)t hrowsI nterruptedExcept i
on: Suspendl '
ex écut i
ondut hreadappelant
pendantl adur éei ndiquée(nepasut il
iserceci àdesf i
nsdesy nchronisation!).
 v oidinterrupt ():pr ovoquesoi tlalevéedel '
ex cepti
onI nterr
uptedExcept ionsi l'
activ
itéestbl
oquée
suruneopér ationdesy nchronisati
on, soitleposi ti
onnementd' uni
ndi cateurinterrupted.
 v oidjoin(): Attent ebloquant edel atermi naisondel 'exécutiondut hread( jusqu'
àcequel a
mét hoder un( )associ éeauThr eadai tfinides' exécuter).
 wai t
():let hreadqui appellecettemét hodeestbl oquéj usqu'àcequ'unaut rethreadappellenoti
fy(
)
ounot if
y All().

Exer
cice1
cl
assTex
tendsThr
ead{ booleanshoul
dRun=t
rue;
Stri
ngm 
;
T(
Stri
ngm ){supper
(m)
 ;t
his.
m=m  ;
}

publ
i
cvoi
drun(
){whi
l
e(shoul
dRun){ Syst
em.out.pr
intl
n("
message"+m);
Sy
stem.
out.
pri
ntl
n(Thread.
curr
ent
Thread(
).
get
Name(
)); }
}}
….
{TT1=newT(
"T1"
),T2=newT(
"T2"
),
T3=newT(
"T3"

; T1.
star
t()
 ;T2.
star
t()
 ;T3.
star
t()
 ;
}

1- Quelestlerésultatd’exécut
ion.
2- Défi
niruneexécut ionenut i
l
isantlapri
ori
t v
é.(oidset
Prior
ity(
intpri
ori
ty)
 ;i
ntget
Prior
it
y()
)
3- Modifi
erl epr ogrammepourqu’ ilpui
sseav oi
runeex écuti
onquibascul ed’unemanièr
e
équi
tableentrelest hreads(yi
eld(
))
4- Fai
teunesy nchronisation(r
endez -
vous)entr
elesthreadst elqueonaur al’
exécuti
ondeT3
unefoislesthreadsT1etT2t erminent(joi
n()
).

Exer
cice2 
:
fi
nall
ongdebut=Sy stem.curr
ent
TimeMill
is(
);
TimerTaskaf
ficheTemps=newTi merTask(){
publi
cv oidrun(
){Sy
stem.out
.pri
ntl
n(Syst
em.cur
rent
TimeMi
ll
is(
)-debut
);
}}
;
Timerti
mer=newTi mer (
);Timer.
schedul
e(affi
cheTemps,0,
2000);

1- Expl
i
querl
erésul
tatduprogr
ammesui vant.
2- Cr
éerunthr
eadpériodi
quequis’
exécut
et outl
es3savec« 
sleep 
»
3- Cr
éerunthr
eadpériodi
quequis’
exécut
et outl
es3savecaveclaclasse« 
ti
mer 
».
4- Cr
éerunthr
eadpériodi
quequis’
exécut
eunef oist
outl
es3s,uneaut r
efoi
stoutl
es4s.

Exer
cice3 
:
1- Réali
serunpr ogrammeper mett
antd’implémenterlesvéroui
lageavecLOOKetUNLOOK.I l
faudr
autil
i
ser: synchr
onized,wai
t()etnotif
y().
2- Réali
serun pr ogramme quiper metd’ implémenterles pr
imiti
ves de communi
cat
ion par
événementlogiqueencréantlesprimit
ives 
:set,r
eset,wai
t.

Exer
cice4 
:
Défi
nirunprogrammeJAVAquisi
mulel
efonct
ionnementdusy
stèmeselonunGraphcetdonné.I
lest
i
mpér at
ifd’
util
i
serlapr
ogr
ammat i
onlemulti
-t
hreadi
ngaveclesmécanismesdesy nchr
onisat
ions
appr
opr i
és.

Vous aimerez peut-être aussi