我有两种方法方法 A 和方法 B。方法 A 负责向用户发送账单,方法 B 负责更新数据库。方法 B 使用 PreparedStatement。方法 A 一次由不同的并发线程运行。例如
Thread 1- Method A
Thread 2- Method A
Thread 3- Method A
方法 A 调用方法 B 来更新数据库的计费失败或成功。就像
void A()
{
send billing sms
if (successful)
{
//update database with successful status
status='success'
}
if unsuccessful{
status='unsuccess'
}
method B(status, connection);
}
void B(Status s, Connection con)
{
PreparedStatement codes.. for update
}
由于方法 A 一次由不同的并发线程调用,我如何在方法 B 中实现 PreparedStatement Batch 函数说我想一次更新 50 个事务而不是一个一个地更新。我想要在方法 A 上创建一些计数器(但由于并发线程一次运行此方法,这可能吗?)或在方法 B 中(但是当不同的并发线程调用时,计数器变量将再次为 0,所以这可能吗?)或者制作一个全局计数器类,以便每次调用方法 B () 时都会增加这个计数器,一旦达到 50,就会执行批量更新(不知道)。
请指教!!