Suppose two threads with a shared variable "x" execute the following instructions: shared int x; P1: _ x=0; x = x + 1; x = x + 1; x = x - 1; x = x - 1; _ if(x=1) cout << "Hi mom!" << endl; P2: - I x = 0; x = x + 1; x = x + 1; x = x - 1; x = x - 1; if (x=1) cout << "Hi mom!" << endl; Show this code can print "Hi mom!” by finding a sequence of instructions that can cause a race condition. Illustrate your sequence by numbering the instructions with the order in which they are executed.

Systems Architecture
7th Edition
ISBN:9781305080195
Author:Stephen D. Burd
Publisher:Stephen D. Burd
Chapter11: Operating Systems
Section: Chapter Questions
Problem 14VE
icon
Related questions
Question
Suppose two threads with a shared variable “x” execute the following instructions:
shared int x;
P1:
x = 0;
x = x + 1;
x = x + 1;
X = X
X = X
1;
1;
if (x==1)
cout << "Hi mom!" << endl;
P2:
x = 0;
x = x + 1;
x = x + 1;
x = x - 1;
x = x - 1;
if (x==1)
cout << "Hi mom!" << endl;
Show this code can print “Hi mom!” by finding a sequence of instructions that can cause a race
condition. Illustrate your sequence by numbering the instructions with the order in which they are
executed.
Transcribed Image Text:Suppose two threads with a shared variable “x” execute the following instructions: shared int x; P1: x = 0; x = x + 1; x = x + 1; X = X X = X 1; 1; if (x==1) cout << "Hi mom!" << endl; P2: x = 0; x = x + 1; x = x + 1; x = x - 1; x = x - 1; if (x==1) cout << "Hi mom!" << endl; Show this code can print “Hi mom!” by finding a sequence of instructions that can cause a race condition. Illustrate your sequence by numbering the instructions with the order in which they are executed.
Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Terminal Threads
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Systems Architecture
Systems Architecture
Computer Science
ISBN:
9781305080195
Author:
Stephen D. Burd
Publisher:
Cengage Learning