Last week, we have studied two different forms of concurrency: event-based programming via select/poll and threads (ala pthreads). While the former allowed us to overlap I/O and computation, it did not allow us to take advantage of parallelism. To do harness multiple hardware resources, we will need to utilize threads. Unfortunately, using threads also means we need to employ locks and condition variables to ensure correct concurrent access to shared resources.
The readings for Tuesday, September 25 are:
The following are optional related readings:
Once you have done the readings, answer the following Reading 05 Quiz questions:
To submit you work, follow the same process outlined in Reading 00:
$ git checkout master # Make sure we are in master branch $ git pull --rebase # Make sure we are up-to-date with GitLab $ git checkout -b reading05 # Create reading05 branch and check it out $ cd reading05 # Go into reading05 folder $ $EDITOR answers.json # Edit your answers.json file $ ../.scripts/submit.py # Check reading05 quiz Submitting reading05 assignment ... Submitting reading05 quiz ... Q01 0.50 Q02 0.20 Q03 0.30 Q04 0.50 Q05 0.30 Q06 0.20 Q07 0.20 Q08 0.20 Q09 0.20 Q10 0.40 Score 3.00 $ git add answers.json # Add answers.json to staging area $ git commit -m "Reading 05: Done" # Commit work $ git push -u origin reading05 # Push branch to GitLab