POSIX Philosophers
Implement a solution to the Dining Philosophers problem using the POSIX API.
Overview
This sample implements Zephyr’s Dining Philosophers sample using the
POSIX API. The source code for this sample can be found under
samples/posix/philosophers.
Building and Running
This project outputs to the console. It can be built and executed on QEMU as follows:
west build -b qemu_riscv64 samples/posix/philosophers
west run
Sample Output
Philosopher 0 [P: 3] HOLDING ONE FORK
Philosopher 1 [P: 2] HOLDING ONE FORK
Philosopher 2 [P: 1] EATING [ 1900 ms ]
Philosopher 3 [P: 0] THINKING [ 2500 ms ]
Philosopher 4 [C:-1] THINKING [ 2200 ms ]
Philosopher 5 [C:-2] THINKING [ 1700 ms ]
Exit QEMU by pressing CTRL+A x.
Debugging
Like the original philosophers sample, the POSIX variant also enables
CONFIG_DEBUG_THREAD_INFO by default.
west build -b <board_name> samples/philosophers
west debug
Additional Information
For additional information, please refer to the Dining Philosophers sample.