Java and Concurrency
1 Abstract
These are notes on how Java supports concurrency. There is a separate page for Java support for event-driven programming. We are assuming that a course in OS concepts has contributed pretty good understanding of concurrency, and processes.
2 Concurrency Fundamentals
- ./concurrency-fundas.html Processes, Threads, msg passing, synch, mutex, scheduling, etc. Language independent discussion.
 - the happens-before relationship
 - Atomic Access
 - Locks
 
3 Java Concurrency
- Java had concurrency support from Java1. Java8 adds significant improvements. Official docs.
 - Defining and Starting a Thread
 - Synchronized Methods, Guarded Blocks
 java.util.concurrent.ExecutorServiceInterface- Thread Pools
 - Fork/Join
 
3.1 Example Source Code
- ../Java/src/Meenie.java Eeny, meeny, threads
 - http://sourceforge.net/projects/javaconcurrenta/ Open source. Java Concurrent Animated: Animations that show usage of concurrency features.
 - To try it out, download 
javaConcurrentAnimated.jar, and run
java -cp patName/javaConcurrentAnimated.jar vgrazi.concurrent.samples.launcher.ConcurrentExampleLauncher - https://docs.oracle.com/javase/tutorial/essential/concurrency/ Oracle Java Tutorial, Concurrency Trail; My Lecture. The items above are all covered here. Required Reading