Coordination between transactions
Every assembled transaction will be lost in the transaction pool, waiting for the program to execute it. The program checks which transactions in the transaction pool can be executed at intervals, agrees to the transactions that can be executed to process themselves, and leaves the results in the Results pool.
Result pool and transaction pool
Transaction execution in the transaction pool
The execution program checks which transactions in the transaction pool can be executed at intervals, and the transactions that can be executed by itself. The client program only needs to leave the assembled transactions in the transaction pool. The rest of the work is to wait for the results in the result pool.
While (true) // check the result queue cyclically and find the transaction result {If (queuetransactionservice. transactionresult. containskey (inttransactionid. tostring () // you can find the data you need in the result list and jump out of the infinite waiting for break;} resulthashtable = (hashtable) queuetransactionservice. transactionresult [inttransactionid. tostring ()]; // receives results from the slave server
The client waits for the result in the result pool.