Concurrent Systems and Applications 2002-03
Principal lecturer: Dr Timothy Harris (tim.harris@cl.cam.ac.uk)
Taken by: Part IB
Syllabus
This 24-lecture course covers principles and techniques used in
structuring and implementing multi-threaded and distributed software systems.
Study materials
The slides identify which of the past exam questions remain
relevant to this course and the point at which you should be able to
complete each of the questions. The slides also contain additional
questions pitched at a range of levels.
Corrigenda
- Slide 2.11 should say that line 9 fails at run-time (as indicated
in the comments in the code) rather than line 6
- On slide 3.7 the getName method should be defined as return
name rather than return String
- On slide 3.15 the interfaceMethod defined within the
anonymous inner class should be marked public (methods defined
on interfaces are implicitly public and so their
implementations in classes must also be)
- The command line syntax in exercise 6.1 is incorrect for current
JVM implementations. The correct syntax is -XmxSIZE, for
example -Xmx25M to configure a 25M heap.
- Line 6 of the example native method code on slide 9.5 is missing
the name of the second parameter and a closing bracket.
- On slide 9.7 the phrase parent class loader should be
typeset in bold, not in courier
- Exercise 9.4 should indicate that getS is a static method
- Exercise 12.5 should call the method on the Operation
interface something like doOp because do is a Java
keyword and cannot be used as a method name
- On slide 13.3 the loop should wait while (!full) { ... }
rather than while (full) { ... } -- it is waiting until an item
can be removed from the buffer and so must wait while the buffer is
not full
- Slide 16.9, eunm should be enum (as on 16.8)
- Exercise 21.1 should refer to the "system described in question 20.2"
rather than to 19.2.
- The Barrier class on the Examples Class handout should have
the line waitingA=false in the enterB method and
waitingB=false in the enterA method (i.e. swapped over
from the way they are printed)
Resources
The source code files are also available under $CLTEACH/tlh20 on the
PWF Linux machines. The Eclipse IDE is also available there.
Additional material:
|