Cours 4
27 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
27 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

Cours 4- Créer des animations : la classe Thread et l'interface Runnable- Quelques composants supplémentaires : le choix dans une liste JComboBox et JListF. Gayral 1zyyyyyzRappel : multi-tâchesmulti-tâches : exécution de plusieurs processus simultanément (Windows NT, Unix...). Un processus est un programme en c ours d'exécution. L’ordonnanceur distribue le temps CPU entre les p rocessusUn processus peut être dans différents états. En exécution (running) : a le processeurPrêt : le processus est prêt à s'exécuter, mais n'a pas le processeur (occupé par un autre processus en exécution)BloquéF. Gayral 2états d’un processus et transitionsThread passe de l’état en exécution à l’état bloqué :- S'il reçoit l'ordre de dormir - s’il a besoin d’une ressource qui n’est pas disponibleThread passe de l’état bloqué à l’état Prêt :- Si son temps de sommeil est épuisé- Si la ressource qu’il attendait s’est libéréeF. Gayral 3yzzyyRappel : multi-threadsUn thread ("processus léger") est un processus à l'intérieur d 'un processus. multi-threading : exécution à l’intérieur d’un processus de plusieurs sous-tâches (exécution concurrente de threads) Un processus peut p osséder plusieurs threads. Le s ressources allouées à un processus (temps processeur, mémoire) sont p artagées entre les threads qui le composent. Un processus possède au moins un thread (qui exécute le programme principal, habituellement la fonction main()). F. Gayral ...

Informations

Publié par
Nombre de lectures 38
Langue Français

Extrait

Cours 4
réer des animation
-C  classerhTdaeet l'interfacelbeunnaR
s : la 
- Quelques composants supplémentaires : le choix dans une liste 
JoBoxCombet JList
F. Gayral
1
tlumât-isehce : eiru srpcoseus sxécution de plussuesocpr étatnts fére difadsnrt etuê  sepesocpre rêPursep el : tsussecorEn es. tionxécunnni( ura l )g: as pe  l est prêt à s'excéture ,amsin a'
y
y processeur (occupé par un autre processus en exécution)
y
simultanément (Windows NT, Unix...). yUn processus est unprogramme en cours d'exécution. yL’ordonnanceur distribue le temps CPU entre les processus Un
z
z
Rappel : multi-tâches
2
F. Gayral
éuqolB
états d’un processus et transitions
F. Gayral
Thread passe de l’état en exécution à l’état bloqué : - S'il reçoit l'ordre de dormir - s’il a besoin d’une ressource qui n’est pas disponible
Thread passe de l’état bloqué à l’état Prêt : - Si son temps de sommeil est épuisé - Si la ressource qu’il attendait s’est libérée3
ue rétir 'dnuU nhtread ("processusgél )"retse  nu ocprsuesà s inl'tuep sussecorp n U L da.shterru susier plséde pos Uocesn pruélo àesn  uocprr seosseecrula scesseur, seus st(mespp or
4
programme principal, habituellement la fonctionmain()).
F. Gayral
processus. multi-threading: exécution à l’intérieur d’un processus de plusieurs sous-tâches (exécution concurrente de threads)
z z
y
y y mémoire) sont partagées entre les threads qui le composent.
Rappel : multi-threads
 lee utécexi quau mède posssus da( hteru  niosn
propre espace d’adressage et doivent, pour communiquer, utiliser des moyens de communication specifiques (tubes..) yLes threads issus d’un même processus partagent la même zone mémoire (segments de code et de données), ce qui rend très facile (et périlleux !) la communication entre threads.
5
Différences entre thread et processus
y
F. Gayral
z
in uuaev ed m aloiém :reesLou sAu t les onessucorp emêm nud ssuiss suesocprs-
caniontiCmuomes ponnéux dce ag ârpmel sist èroull apsem tler egatraPseégatral raéxe'itacp noticu onUn na nu tse ruetagiv-ttiul melcigiloahgrelc  d :rhaeune t d'emenaué ro pssce pus erèrtnelp eeisuurs tnemguAa "per lctivrodud uti"éppilena 
Intérêts des threads en général
z
6
z z
threads, chacun d’eux exécutant une fonction précise
z
y
clients en créant un thread par client F. Gayral
concurrente de ces threads Exemples
y page laisse la main à l'utilisateur
erdnopérd sed à veer sUnt eu purixno sed emandes de conne
et n céseislicatione l app
yle thread dédié au garbage
y
z
z
d ’exécuter une tâche longue et consommatrice de temps ou une tâche répétitive(Exemple : animation, gros calculs, attente de connexion, entrée/sortie (chargement d'images))
ÞCréer des threads chargés de ces tâches plutôt que d ’occuper le thread principal à ces tâches  F. Gayral
thread principal, celui qui exécute…
z
Intérêt des threads pour une application graphique
7
 nhtuite  tra quiread : dnof-erèirrad atuerO nrceés lorsqus threadnemec st selnévésot isurvila eer au sèdes unmoinae dt rh  :elro putTo qmeamgréxes iusop etucIl existe daurtset rhaesde  n
Threads en java
z
y
8
plate-forme à l’autre mais l’exécution peut varier (comportement de l’ordonnanceur non spécifié par Sun)
z
y
F. Gayral
e unds leabrtpono tsds rhaeset nt dlisa utimmesl ud etn:egagnassla cLaadreThe tnreLiR nuafeceLenablogras pr JEna,avl set rhaesdf not partie intégra
uctrurte: s Qqleu seusnocl.FG yaari Asilev)(v;io dsetPriority(int eln Pewuihrtr oetdia)eyrr;u
méthode qui met le thread à
a
9
 
String getName(); void start(); l'état prêt
l
hread(); Thread(String Thread(Runnable cible); ·Quelques méthodes d’instance :
a
z
a
nom);
 
 
a
La classe Thread
i moonbanleohedm tés req iuécuta exès qée doiv);n(rud 
tatic void sleep duq i aalm iasnrefée nc tdueahrer ;ruotl enér a fai    rmirt dotpoixEec    ;n  nt Iwsroedptruerim gnol(ht )sillt rhwo sae[d ])trate(Thrnt enumetatsi ci al niam qad auie  lrethda shterel suo sce t plans te dagnar           nioptceExtyricuSeaGryF .al10adreThc titas)(daerhTtnerruc 
_ _ _ MIN PRIORITY, MAX PRIORITY, NORM PRIORITY ·Quelques méthodes de classe :
La classe Thread
·Constantes de classe :permet de définir des priorités
    
11
F. Gayral
Deux méthodes
"être animée" implémente cette interface
z
z
Comment créer un thread chargé d'une tâche particulière
Sla cser clasous-Uiterda ehTalssacrfteinl'r seliaf te elbannuR ela classire que attn  eoshuia
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents