Write a complete go program whose main function spawns a


Assignment

Problem I: 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: 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.

Request for Solution File

Ask an Expert for Answer!!
C/C++ Programming: Write a complete go program whose main function spawns a
Reference No:- TGS02707779

Expected delivery within 24 Hours