Cigarette smokers problem

The cigarette smokers problem is a classic concurrency problem in computer science, introduced by Suhas Patil in 1971. It illustrates synchronization challenges in multi-process systems, where multiple processes (smokers) compete for limited resources (ingredients) provided by a single agent. The problem is notable for its constraints, such as the immutability of the agent's behavior and the prohibition of conditional statements in solutions, which have been subjects of criticism.