Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Tråde & Executors – uge 2.

Lignende præsentationer


Præsentationer af emnet: "Tråde & Executors – uge 2."— Præsentationens transcript:

1 Tråde & Executors – uge 2

2 Dagsorden Opsamling fra sidste uge Tråde i Java Pauser
Hvordan laver Java flere ting samtidigt Synkronisering af resource forbrug Executor frameworket

3 Opsamling Et par små tricks til få RES over i en fil - eller den anden vej. Både Add & Mul To forskellige PATH (picoserver06A) Vha en ekstra parameter (picoserver06B)

4 Alt om tråde på en slide En computer kan køre mere end et program ad gangen Java maskinen (JVM) kan køre mere end en “ting” ad gangen Disse “ting” kaldes tråde (threads). Der er mange forskellige måder at starte tråde på Vi skal se på 3 i dag, og arbejde med en i øvelserne Der er forskellige problemer med samtidighed Vi skal se på en af dem her på 2. semester

5 Tråde - samtidighed I – de studerende – er “tråde” i disse øvelser.
Øvelse 1: Vi har et google sheet på denne side:

6 Øvelse 1 Ud for dit navn skal du skive:
”I am here and I am proud of it”

7 Øvelse 2 – brug C-kolonnen
Find det første fornavn under dit eget som starter med det bogstav dit fornavn slutter på. Hvis der ikke er et nedenfor kikker du fra oven Hvis det ikke er der vælger du bare dit eget Ud for det navn skal du skrive et tal som er antallet af bogstaver i dit eget navn. Hvis der står et tal i forvejen lægger du dit antal til.

8 Øvelse 3 Der står 17 i celle E1

9 Læg 23 til det tal der står i celle E1

10 Pause

11 Tråde EksempelKode Threads01 EksempelKode Threads02

12 Runable Interfacet Runnable har været med siden 1995 (JDK1.0).
Der er en metode der skal implementeres. Runnable indfanger En opgave/task der skal udføres

13 Parametre til Runnable
Se kode eksempel Threads03 Kasper tegner på tavlen for at pointere ideen om at Task oprettes i en tråd (main tråden) Task udføres af arbejdstrådene (t1, t2, t3) Det er denne arbejdsdeling der minder lidt om tjeneren der laver bestillinger (tjeneren er main), og kokkene der laver maden (t1, t2, t3)

14 sleep metoden Sleep metoden er helt ligegyldig – og er brugt meget.
Sleep metoden stopper tråden i et antal millisekunder. Sleep metoden bruges i eksempel kode til at illustrere at ”her gør tråden noget der tager tid, som vi ikke orker at kode lige her”. Henter data fra en database Henter data fra nettet Laver en kompliceret beregning Afspiller musik osv.

15 Syncronized metoder Forskellen mellem eksempel: ThreadsSyncUnsafe
ThreadsSyncSafe Hvad ”synkroniseres der på”? En lås for hele JVM? En lås per tråd? En lås per ”hvad”?

16 Opgave Skriv ThreadsSyncSafe koden om så der IKKE benyttes en anonym indre klasse, men en almindelig klasse der enten implementerer Runnable er en subklasse af Thread

17 Pause

18 Executor Systematisering af restaurant arbejdsgangen
Der er nogle der tager imod ordre Der er nogle der laver maden Der er nogle der serverer Der er nogle der tager imod penge

19 Eksempel koden til øvelserne
Executor01 Executor03 Hvor kan I forestille jer dette ”design mønster” blive brugt?


Download ppt "Tråde & Executors – uge 2."

Lignende præsentationer


Annoncer fra Google