Consider the following concurrent tasks, in which each assignment statement executes atomically. Within a task, the statements occur in order. Initially, the shared variables x and y are set to 0.
Task 1 Task 2
x = 1 y = 1
a = y b = x
At the end of the concurrent tasks, the values ofa andb are examined. Which of the following must be true?
I. ( a == 0 ) ( b == 1 )
II. ( b == 0 ) ( a == 1 )
III. ( a == 1 ) ( b == 1 )
(A) I only
(B) II only
(C) III only
(D) I and II only
(E) I, II, and III

Respuesta :

Answer:

(D) I and II only

Explanation:

Concurrent tasks is when there is more than one task to be performed but the order of the task is not determined. The tasks occur asynchronously which means multiple processors occur execute input instruction simultaneously. When x =1 and y = 1, the concurrent task will be performed and the a will be zero or either 1.