##### serializable schedule

Consider the following transactions with data items P and Q initialized to zero:

 T1T1 read (P); read (Q); if P = 0 then Q := Q + 1 ; write (Q). T2T2 read (Q); read (P); if Q = 0 then P := P + 1 ; write (P)

Any non-serial interleaving of T1 and T2 for concurrent execution leads to

(A) a serializable schedule
(B) a schedule that is not conflict serializable
(C) a conflict serializable schedule
(D) a schedule for which a precedence graph cannot be drawn

 T1 T2 read (P); read (Q); if P = 0 then Q := Q + 1 ; read (Q);  write (Q). read (P);  if Q = 0 then P := P + 1 ; write (P)