Agenda
(preliminär)
|
VECKA 6
|
Inga
föreläsningar!
|
|
VECKA 7
|
AVANCERAD TRÅDPROGRAMMERING I JAVA
- Introduktion till parallellprogrammering
- Parallellprogrammering i Java: Trådar
(Threads)
- Trådprogrammering i Java enligt den
"traditionell" metoden
- Undantagshantering i Java
- Introduktion till Java Applets
- Trådar
- Avbrott("interrupts")
- Metoden "join()"
- Högnivå objekt för
trådprogrammering
- Trådgrupper ("Thread pools");
- Exekverare ("Executor" och "ExecutorService")
Föreläsningsmaterial
Föreläsning1
Föreläsning2
Exempelprogram
Exempel1 -
Konsolprogram med trådar och undantagshantering
Exempel2 - En simpel Java
Applet
Exempel3 - Trådhantering
enligt gamla och nya metoden
Övningar
Övning
1 - Övningar med trådar på CCSE (College of Computer
Sci. & Eng.) portalen
Övning 2 -
Trådhantering
|
|
VECKA 8
|
AVANCERAD TRÅDPROGRAMMERING I JAVA
- Applet-programmering
- Animering
- Tillämpning av trådar
- Trådsäkerhet
- Trådkollision ("Thread Interference")
- "Memory Consistency Error"
- Datastrukturer
Föreläsningsmaterial
Föreläsning3
Exempelprogram
Exempel4 - "Skjuta ner
bollar"-spelet
Exempel5 -
Trådsäkerhet med synkroniserade metoder
Exempel6 - Hantering av
länkade listor
Övningar
Övning 3 -
Bollspelet (Trådsäkerhet och länkade listor)
|
|
VECKA 9
|
AVANCERAD
TRÅDPROGRAMMERING I JAVA
- Trådsäkerhet
- Intrinsic locks och synkronisering
- Synchronized statements
- Liveness
Föreläsningsmaterial
Föreläsning4
Exempelprogram
Exempel7 - Simulering
av "deadlock"
Exempel8 - Vidareutveckling av
"skjuta ner
bollar"-spelet
|
|
VECKA 10
|
AVANCERAD TRÅDPROGRAMMERING I JAVA
- Trådsäkerhet
- Guarded Blocks
- Immutable Objects
- Lock Objects
Föreläsningsmaterial
Föreläsning5
Exempelprogram
Exempel9 -
"Producent-konsument" problemet löst m.h.a "guarded blocks"
Exempel10 - Experiment med
"synchronized statements"
Övningar
Övning4 -
Väderstatistik (trådsynkronisering)
|
|
VECKA 11
|
ATT
DESIGNA PARALLELLA PROGRAM
- Att designa parallella program
- Manuell vs. automatisk parallellisering
- Java och "multi-core" processorer
- Hur parallellisera?
- Hur mycket effektivare program får vi
genom parallellisering?
Föreläsningsmaterial
Föreläsning6
Exempelprogram
Exempel11 - Experiment
med parallellisering av sorteringsalgoritm
Exempel12 - Delvis
lösning till övning4
Övningar
Övning 5 - Textanalysator
(optimering av algoritmer för "multi-core" datorer)
|
|
VECKA 12
|
ATT
DESIGNA PARALLELLA PROGRAM/DISTRIBUERADE APPLIKATIONER
- Ahmdals algoritm
- Design av parallella program
- Att förstå problemet
- Identifiera programmets "hotspots"
- Identifiera programmets "flaskhalsar"
- Partitionering
- Kommunikation
- Introduktion till Java EE (Enterprise Edition)
- Enterprise Java Beans (EJB)
Föreläsningsmaterial
Föreläsning7
Föreläsning8
Övningar
Övning 6 -
Parallellisering av en genetisk algoritm
|
|
VECKA 13
|
PROJEKT
Se http://people.arcada.fi/~karlssoj/procprog/projekt.html
|
|
VECKA 14
|
PROJEKT
|
|
VECKA 15
|
PROJEKT
|
|