1 Stepping into concurrent programming

 

This chapter covers

  • Introducing concurrent programming
  • Improving performance with concurrent execution
  • Scaling our programs

Meet Jane Sutton. Jane has been working at HSS International Accountancy as a software developer for three months. In her latest project, she has been looking at a problem in the payroll system. The payroll software module runs at the end of the month after the close of business, and it computes all the salary payments for the HSS clients’ employees. Jane’s manager has arranged a meeting with the product owner, the infrastructure team, and a sales representative to try to get to the bottom of the problem. Unexpectedly, Sarika Kumar, CTO, has joined the meeting room via video call.

Thomas Bock, the product owner, starts: “I don’t understand. The payroll module has been working fine for as long as I can remember. Suddenly, last month, the payment calculations weren’t completed on time, and we got loads of complaints from our clients. It made us look really unprofessional to Block Entertainment, our new and biggest client yet, with them threatening to go to our competitor.”

1.1 About concurrency

1.2 Interacting with a concurrent world

1.3 Increasing throughput

1.4 Improving responsiveness

1.5 Programming concurrency in Go

1.5.1 Goroutines at a glance

1.5.2 Modeling concurrency with CSP and primitives

1.5.3 Building our own concurrency tools

sitemap