Concepts of Programming Languages
sean pound
(Sean Pound)
#1
Problem Set 627
- How can the priority of a thread be set in Java?
- Can Java threads be actor threads, server threads, or either?
- Describe the actions of the three Java methods that are used to support
cooperation synchronization.
- What kind of Java object is a monitor?
- Explain why Java includes the Runnable interface.
- What are the two methods used with Java Semaphore objects?
- What is the advantage of the nonblocking synchronization in Java?
- What are the methods of the Java AtomicInteger class and what is the
purpose of this class?
- How are explicit locks supported in Java?
- What kinds of methods can run in a C# thread?
- Can C# threads be actor threads, server threads, or either?
- What are the two ways a C# thread can be called synchronously?
- How can a C# thread be called asynchronously?
- How is the returned value from an asynchronously called thread
retrieved in C#?
- What is different about C#’s Sleep method, relative to Java’s sleep?
- What exactly does C#’s Abort method do?
- What is the purpose of C#’s Interlocked class?
- What does the C# lock statement do?
- On what language is Multilisp based?
- What is the semantics of Multilisp’s pcall construct?
- How is a thread created in CML?
- What is the type of an F# heap-allocated mutatable variable?
- Why don’t F# immutable variables require synchronized access in a mul-
tithreaded program?
- What is the objective of the specification statements of High-
Performance Fortran?
- What is the purpose of the FORALL statement of High-Performance
Fortran and Fortran?
PROBLEM SET
- Explain clearly why competition synchronization is not a problem
in a programming environment that supports coroutines but not
concurrency.
- What is the best action a system can take when deadlock is detected?