https://github.com/mtking2/dining-philosophers
Various flavored solutions to the Dining Philosophers problem.
https://github.com/mtking2/dining-philosophers
dining-philosophers dining-philosophers-problem hacktoberfest multithreading mutex resource-management semaphore threading
Last synced: 4 months ago
JSON representation
Various flavored solutions to the Dining Philosophers problem.
- Host: GitHub
- URL: https://github.com/mtking2/dining-philosophers
- Owner: mtking2
- License: gpl-3.0
- Created: 2018-03-31T23:35:18.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2021-09-29T15:05:42.000Z (almost 5 years ago)
- Last Synced: 2023-12-03T06:22:17.276Z (over 2 years ago)
- Topics: dining-philosophers, dining-philosophers-problem, hacktoberfest, multithreading, mutex, resource-management, semaphore, threading
- Language: C++
- Homepage:
- Size: 1.09 MB
- Stars: 6
- Watchers: 2
- Forks: 11
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Various object-oriented solutions to the [Dining Philosophers Problem](https://en.wikipedia.org/wiki/Dining_philosophers_problem)
## Variants:
- [C](C/)
- [C#](C#/)
- [C++](C++/)
- [Go](golang/)
- [Java](java/)
- [Python](python/)
- [Ruby](ruby/)
- [Rust](rust/)
## Contributing
### Rules
I only ask for two requirements when contributing:
1. You must provide a working solution to the DPP
2. Your solution must be Object Oriented (or close to it, using structs or the like)
### How to Contribute
1. Fork and clone this repo
2. Add code for the new variant
- If you want to add a different solution to an already existing language then simply put it in a sub-directory under that language like so: `//`
3. Create a `README.md` for your variant that describes:
- The language used.
- The methods used in the solution (i.e. Mutex/Semaphore, Arbitrator, Chandy/Misra)
- Instructions on how to run the code
4. Add a link to the top-level `README.md` to your new solution
5. Open a PR
## License
GNU GPL v3.0, see [LICENSE](https://github.com/mtking2/dining-philosophers/blob/master/LICENSE)