• Home
  • Textbooks
  • Programming Mobile Devices: An Introduction for Practitioners
  • Concurrency

Programming Mobile Devices: An Introduction for Practitioners

Tommi Mikkonen

Chapter 5

Concurrency - all with Video Answers

Educators


Chapter Questions

Problem 1

What kind of access should a scheduler provide to its thread management in order to allow a Java virtual machine implementation that relies on operating system threads instead of green threads? What kinds of data structures would then be needed in the virtual machine?

Check back soon!

Problem 2

Compare MIDP Java's and Symbian OS's implementation of pseudo-parallel executions. what differences must the application developer consider when using them?

Check back soon!

Problem 3

Sketch an architecture for a system where the benefits of the Symbian OS active object scheme would be received, using a design that would more explicitly show that the system is actually an event handler.

Check back soon!

Problem 4

Implement a number of sample active objects that listen to several events (for instance a number of timers). Does the number of parallel (or almost parallel) events become visible in the execution? How would the developer be instructed to use the system?

Check back soon!

Problem 5

What types of properties make active object abstraction leak? How about Java's threads that are emulated inside a virtual machine?

Check back soon!

Problem 6

What kind of a design would allow pre-emptive active objects? What kinds of advantages and downsides would this imply?

Check back soon!

Problem 7

Implement the corresponding extensions to the Symbian OS threading example as was introduced for Java, i.e., a class encapsulating the shared variable. Then compare the performance of threading of Java and Symbian OS. Add also additional threads and implement mutual exclusion in terms of Synchronize operations and semaphores. How will these affect the comparison?

Check back soon!