4.2.04. 2PL: Guaranteed serializable

  • T1

  • read_lock(Y);
  • read_item(Y);
  • write_lock(X);
  • unlock(Y);
  • read_item(X);
  • X=X+Y;
  • write_item(X);
  • unlock(X);
  • T2

  • read_lock(X);
  • read_item(X);
  • write_lock(Y);
  • unlock(X);
  • read_item(Y);
  • Y=X+Y;
  • write_item(Y);
  • unlock(Y);
  • Less efficient (cost), but serializable