Skip to content
This repository has been archived by the owner on Oct 4, 2018. It is now read-only.
/ bakery Public archive

Example implementation of Lamport's Bakery algorithm for managing multiple threads.

Notifications You must be signed in to change notification settings

vondenstein/bakery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

Lamport's Bakery Algorithm in Java

About This Program

This is an example implementation of a Bakery Lock in Java for n threads. The example execution scenario with n threads counts to n * 10000 using a shared variable with each thread incrementing the variable 10000 times.

Running Locally

  1. Clone locally via GitHub Desktop, or via CLI: git clone https://github.com/svondenstein/BakeryExample.git
  2. Compile the source files in src/: javac *.java
  3. Run BakeryExample: java BakeryExample
  4. Enter the number of threads you wish to execute (running with a higher thread count may take longer depending on your machine)
  5. The program will execute the counting example and will output the highest value each thread wrote to the shared variable.

Licensing

The code in class ThreadID is not mine, and was given in the textbook The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit. This program was created as an assignment for CSC 4585 - Multicore Programming at LSU.

About

Example implementation of Lamport's Bakery algorithm for managing multiple threads.

Topics

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages