You will study about concurrency and the effects of concurrent programs in this lesson.

We'll cover the following

Another main theme of this course is concurrency. We use this conceptual term to refer to a host of problems that arise, and must be addressed, when working on many things at once (i.e., concurrently) in the same program. The problems of concurrency arose first within the operating system itself; as you can see in the examples on virtualization, the OS is juggling many things at once, first running one process, then another, and so forth. As it turns out, doing so leads to some deep and interesting problems.

Multi-threaded programs

Unfortunately, the problems of concurrency are no longer limited just to the OS itself. Indeed, modern multi-threaded programs exhibit the same problems. Let us demonstrate with an example of a multi-threaded program:

Create a free account to view this lesson.

By signing up, you agree to Educative's Terms of Service and Privacy Policy