Giter VIP home page Giter VIP logo

philosophers's Introduction

Philosophers

In the root of repository run make and launch as follows:

./philo number_of_philosophers time_to_die time_to_eat time_to_sleep [number of meals]

number_of_philosophers - number of philosophers and forks

time_to_die (ms) - philosopher dies if he doesn't start eating time_to_die after start of his last meal or the beginning of simulation

time_to_eat (ms) and time_to_sleep (ms) - how much time does it take for a philosopher to eat and sleep, respectively

number of meals - optional parameter, simulation stops if all philosophers eat at least such amount of times

If number of meals isn't specified simulation stops at the death of any philosopher.

Runing with number of philosophers > 200 and time_to_die or time_to_eat or time_to_sleep less than 60 ms may cause underfined behaviour.

Example test cases:

1 800 200 200 - dies, no second fork 5 800 200 200 - no one dies, never stops 5 800 200 200 7 - stops after each philosopher eat at least 7 times 4 410 200 200 - no one dies, never stops 4 310 200 100 - stops because of death of one philosopher 200 1000 200 200 - no one dies (but depends on CPU situation)

Makefile

make -- compiles philo executable.

clean -- deletes object files.

fclean -- deletes object files and philo.

re -- runs fclean and recompiles.

philosophers's People

Contributors

xorumur avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.