Cigarette Smokers Problem - Solution

Solution

If we remove the second of Patil's constraints, the cigarette smokers problem becomes solvable using binary semaphores, or mutexes. Let us define an array of binary semaphores A, one for each smoker; and a binary semaphore for the table, T. Initialize the smokers' semaphores to zero and the table's semaphore to 1. Then the arbiter's code is


time.sleep(T) # choose smokers i and j nondeterministically, # making the third smoker k signal(A)

and the code for smoker i is

while true: time.sleep(A) # make a cigarette signal(T) # smoke the cigarette

Read more about this topic:  Cigarette Smokers Problem

Famous quotes containing the word solution:

    There is a lot of talk now about metal detectors and gun control. Both are good things. But they are no more a solution than forks and spoons are a solution to world hunger.
    Anna Quindlen (b. 1953)

    Who shall forbid a wise skepticism, seeing that there is no practical question on which any thing more than an approximate solution can be had? Is not marriage an open question, when it is alleged, from the beginning of the world, that such as are in the institution wish to get out, and such as are out wish to get in?
    Ralph Waldo Emerson (1803–1882)

    I herewith commission you to carry out all preparations with regard to ... a total solution of the Jewish question in those territories of Europe which are under German influence.... I furthermore charge you to submit to me as soon as possible a draft showing the ... measures already taken for the execution of the intended final solution of the Jewish question.
    Hermann Goering (1893–1946)