Processer og tråde Implementation af tråde Trådinterferens Synkronisering Atomare aktiviteter
Proces: ◦ Knyttet til et execution enviroment ◦ Har én eller flere tråde Tråd: ◦ Eksisterer i en proces Processer og tråde
Implementation af tråde 2
Sleep() Interrupt() try { Thread.sleep(4000); } catch (InterruptedException e) { “InterruptedException have been caught” }
Trådinterferens Memory Consistency Error Thread A: Retrieve c Thread B: Retrieve c Thread A: Increment retrieved value Thread B: Decrement retrieved value Thread A: Store result in c, is now 1 Thread B: Store result in c, is now -1 Should have been : 0 Når to tråde arbejder med samme objekt på én gang
Happens-before relationship ◦ Ex. Join() Brug af lås Trådinterferens
Synchronized Method Synchronized Statement Kritiske regioner ◦ Deadlock ◦ Starvation- udsultning ◦ Livelock Nyttige metoder ◦ wait(), notify(), notifyAll() Synkronisering
Atomare aktiviteter
Processer og tråde Implementation af tråde Trådinterferens Synkronisering Atomare aktiviteter