JAVA-CONC
Parallel programming in Java
Parallel programming theory and old/new tools in Java
Description
When we think of parallel programming, Thread and Runnable often come to mind. These were in the first version of Java, but since then much more advanced tools have appeared.
This course will introduce you to the problems that arise in parallel programming and the answers to them. It also introduces low-level and high-level tools.
Outline
- Threads,
Thread,Runnable, Demon Threads, Priority - Sync
- Thread safety, race conditions
synchronizedkeywordwait,notifyVector,Hashtable- Executors framework
Callable,Future- Thread pool
- Scheduling
Atomicclasses- Threadsafe Collections,
ConcurrentLinkedQueue,ConcurrentLinkedDeque,ConcurrentHashMap,ConcurrentSkipListSet,ConcurrentSkipListMap,CopyOnWriteArraySet,CopyOnWriteArrayList,LinkedBlockingQueue,LinkedBlockingDeque, Threadsafe wrapper classes - Liveness, deadlock, starvation, livelock
CountDownLatch,CyclicBarrier,Phaser- Semaphore
- Lock API
ThreadLocalCompletableFuture- Parallel streams
- Java 21 virtual threads
- Framework parallelism, Servlet API
- Framework parallelism, Spring Framework
Prerequisites
Basic Java programming skills.