Exercise 1 - Theory questions What is the difference between concurrency and parallelism? Your answer here Why have machines become increasingly multicore in the past decade? Your answer here Why do we divide software (programs) into concurrently executing parts (like threads or processes)? (Or phrased differently: What problems do concurrency help in solving?) Your answer here Does creating concurrent programs make the programmer's life easier? Harder? Maybe both? (Come back to this after you have worked on part 4 of this exercise) Your answer here What is the conceptual difference between threads and processes? Your answer here Some languages support "fibers" (sometimes called "green threads") or "coroutines"? What are they? Your answer here What is the Go-language's "goroutine"? A C/POSIX "pthread"? Your answer here In Go, what does func GOMAXPROCS(n int) int change? Your answer here