事务之间的协调
每一个装配好的事务都会被丢在事务池中,等待程序去执行它。程序会每隔一段时间检查一遍事务池中哪些事务是可以执行的,并同意可以执行的事务自己处理,并把结果丢在结果池中。
结果池和事务池
事务池中事务执行的情况
执行程序会每隔一段时间检测一遍事务池中哪些事务是可以执行的,可以执行的事务将获得权力自己执行。客户端的程序只需要把装配好的事务丢在事务池中即可,剩下的工作就是在结果池中等待自己的结果。
while (true)//循环检查结果队列,查找自己的事务结果
{
if (queueTransactionService.TransactionResult.ContainsKey(intTransactionID.ToString()))//在结果列表中查找到了自己需要的数据,跳出无限等待
break;
}
ResultHashTable = (Hashtable)queueTransactionService.TransactionResult[intTransactionID.ToString()];//接受从服务器来的结果
客户端在结果池中等待自己的结果