Parallel Programming in Java

 University of Wisconsin  - Platteville

Fall 2002

 

Abstract

The lecture is for computer science students and students with computer programming interests.

The course is primarily indented for students without any prior knowledge in parallel programming but experience with the programming language Java. It is also useful for students with basic understanding of Java threads because synchronization mechanisms are treated in-depth. Finally, the lecture gives a better understanding of operating system communication concepts and introduces network programming.

The first part of the lecture explains the terms parallelism, concurrency and thread. The second part introduces into Java threads and shows problems using shared objects. Within the next part, traditional synchronization concepts are considered. The last part demonstrates how all these techniques can be used to realize multithreaded servers in a network environment.

Contents

  1. Introduction

  2. Java Threads and Synchronization

·         Creating threads

·         Examples

·         Problems using resources in parallel

·         Synchronization methods in Java

  1. Classical synchronization problems and solutions with Java threads

·         Semaphores

·         Message queues

·         Pipes

  1. Implementing multithreaded Server

§         Socket Programming

§         XML Remote Procedure Calls

Class time / room

Monday, September 9 to Thursday, September 12   (4 - 7 pm)

Leo E. Boebel Hall (221)