Algorithm-3: Transaction Executor

Input: WEQ: Waiting Execution Queue, TC: Thread Code, EQ: Excecuting Queue.

Output: FEQ: Finished Execution Queue.

1: WHILE (thread is not stoped)

2: WHILE (TC is not self)

3: await();

4: END WHILE

5: FOR (i=0;i

6: EQ.put(WEQ.take());

7: END FOR

8: notifyTransDispatcher();

9: CDL ← new CountDownLatch(EQ.size);

10: FOR (j=0;j

11: A ← new Actor(EQ.take(),FEQ,CDL);

12: ThreadPool.submit(A);

13: END FOR

14: CDL .await();

15: END WHILE