Till KTH:s startsida Till KTH:s startsida

Övning 5 - material

Här finns materialet från den femte övningen:

Övning 5, PDF

ThreadDemo.java, en minimal implementation av en tråd som ärver från Thread.
RunnableDemo.java, en minimal implementation av en tråd som implementerar gränssnittet Runnable.
ThreadDemo2.java, en program med två trådar som stör varandra .
ThreadDemo2Synchronized.java, en program med två trådar som inte stör varandra. Fundera gärna på hur man kan ändra vilka delar som ska synkroniseras och hur det påverkar programmets körning.
MyTimer.java, En enkel implementation av delar av funktionaliteten i Timer. Testa att använda denna i stället för Timer i programmet TimerDemo från övning 4.

ClientDemo.java, en klient som ansluter sig till någon av servrarna nedan och skickar text fram och tillbaka.
ServerDemo.java, en server som besvarar inkommande meddelanden genom att konvertera dem till versaler och skicka tillbaka.
MultiThreadedServerDemo.java, en server som besvarar inkommande meddelanden genom att konvertera dem till versaler och skicka tillbaka. Denna variant kan hantera flera klienter.
EchoThread.java, en klass för trådar som används av den multitrådade servern.

Testa gärna att ändra olika delar av kodsnuttarna och se vad som händer.