Golang and concurrent Programming
The smokers problem describes a situation in which 3 smokers sit at a table. Every one of them has tobacco, smoking paper, and matches, respectively, but do not share with each other. The waiter comes to the table and puts 2 smoking utensils on it. The smoker who has the complementary utensil can smoke now. He does it, stops, and then all 3 wait again for the waiter.
The multiplication of 2 matrixes succeds concurrently. The submultiplication of every row by a columb is done with a go routine. When done, it waits for the others at a Barrier.