Introduction to Concurrency

CS6650 Building Scalable Distributed Systems

Introduction to Concurrency

Learning Objectives

  1. Describe the difference between a thread and a process
  2. Describe the two major problems that occur in multi-threaded systems
  3. Write programs using threads in Java
  4. Write programs using thread safe collections, queues and executors
  5. Lab: Understand and run a simple servlet in tomcat

Module Contents

  1. Why threads? Simple threads in Java
  2. Problems with threading and Synchronization primitives
  3. Thread coordination and Thread states
  4. The Producer-Consumer problem and Thread Pools
  5. Thread-safe collections

Code Examples

Can be found here

Reading

Mandatory:

Optional:

Lab 2

Aims:

  1. Experiment with threads
  2. Build a Java Servlet to process two of the APIs in Assignment 1
  3. Echo the API parameter values back to the client
  4. Learn simple testing with POSTMAN

Follow the instructions here

Back to Course Home Page