Try   HackMD

Java Concurrent Programming

Location: Room 108, 德田館
Time: 1300 ~ 1600

``xxx''
-- xxx

Class Information

Instructor

Objectives

  • Comprehend design patterns widely used in large-scale projects
  • Learn generics, annotations, and reflection, Stream APIs (with lambdas), and Optional APIs
  • Start your first web application powered by Spring Boot
  • Exploit concurrent programming with Concurrency API

Prerequisites

  • Java Programming link

Working Environment

  • JDK8+ with Eclipse

Recording Classroom Lectures Policy

Recording of classroom lectures is prohibited unless advance written permission is obtained from the class instructor and any guest presenter(s).

Overview

Concurrent Programming

  • Java Virtual Machine (JVM)
  • Basic concepts of operating systems (OS)
    • Process & thread
    • Job scheduling: round-robin (RR)
  • Thread & Runnable
  • Race condition, mutual exclusion & synchronized methods/blocks
  • Producer-consumer problem (bounded-buffer problem) & semaphores
  • Dining philosophers: deadlock, livelock, starvation
  • High-level concurrency framework:
    • Thread pools
    • Fork-join pools
    • Asynchronous computation
    • Concurrent data structures, atomic variables, synchronizers, monitor locks

Schedule

Concurrent Programming

References

Concurrent Programming

Parallel Computing

Operating System