Skip to content

Someshbose/concurrent-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

concurrent-java

It covers some basic concurrent programs as well as parallel program examples. Interview level material.

Project Structure

This project contains Java examples organized into three main categories:

Starting Point

  • SumTask.java - Basic sum computation with single and multi-threaded approaches

📁 Basic Problems (src/main/java/interview/)

Basic concurrency problems and solutions:

Core Problems:

Bounded Buffer Implementations (interview/boundedbuffer/):

📁 Latch Examples (src/main/java/basic/)

Fundamental concurrency concepts and thread management examples:

📁 Exercise Examples (src/main/java/exercise/)

Practical parallel programming exercises:

Key Concepts Covered

  • Thread Management: Thread creation, pooling, and lifecycle management
  • Synchronization: Locks, semaphores, monitors, and condition variables
  • Concurrent Collections: Thread-safe data structures
  • Executor Framework: Thread pools and task execution
  • Classical Problems: Producer-consumer, dining philosophers, sleeping barber
  • Parallel Algorithms: Merge sort, matrix multiplication
  • Coordination Primitives: CountDownLatch, CyclicBarrier, ThreadLocal

Usage

Each Java file can be compiled and run independently. Most examples include a main method demonstrating the concept.

# Compile and run a specific example
javac src/main/java/basic/CountDownLatchExample.java
java -cp src/main/java basic.CountDownLatchExample

Prerequisites

  • Java 8 or higher
  • Basic understanding of multithreading concepts

About

A deep dive to concurrent basics & problems.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages