Problem I: Ace my homework – Write a complete Go program whose main function spawns a fan of n goroutines and synchronizes them, without busy waiting, so that they cooperatively alternate printing ping pong to standard error, where n is given as a command-line argument. Each line must be printed to standard error by a different goroutine, and no goroutine must printmore than once. The goroutines need not print in the order in which they are created. For instance,
$ go run PingPongFan. go 10
1 ping // printed by goroutine 9
2 pong // printed by goroutine 5
3 ping // printed by goroutine 3
4 pong // printed by goroutine 4
5 ping // printed by goroutine 2
6 pong // printed by goroutine 6
7 ping // printed by goroutine 7
8 pong // printed by goroutine 8
9 ping // printed by goroutine 1
10 pong // printed by goroutine 10
$
Your program must not contain any race conditions. Do not give more than 25 lines of code.
Problem II: Ace my homework – Write a complete Go program whose main function spawns a chain of n goroutines and synchronizes them, without busy waiting, so that they cooperatively alternate printing ping pong to standard error, where n is given as a command-line argument. Each line must be printed to standard error by a different goroutine, and no goroutine must print more than once. For instance,
$ go run PingPongChain. go 10 1 ping // printed by goroutine 1 2 pong // printed by goroutine 2 3 ping // printed by goroutine 3 4 pong // printed by goroutine 4 5 ping // printed by goroutine 5 6 pong // printed by goroutine 6 7 ping // printed by goroutine 7 8 pong // printed by goroutine 8
9 ping // printed by goroutine 9
10 pong // printed by goroutine 10
$
Your program must not contain any race conditions. Do not give more than 25 lines of code.
Milkshake Factory Case Study
The story of George Stein exposes the dynamics that drive the night shift at Eastern Dairy’s milkshake factory. George was excited to join the dairy’s unionized workforce because its contributions-to-inducements balance was so favorable. As soon as he crossed the functional boundary into the organization, more specific features of George’s work group became apparent. First, […]