我有一个要求,应该为每个被调用的线程分配一个计数器变量。但是我没有得到预期的结果,实际上柜台在线程中是重复的。我创建了一个虚拟表和一个proc来将计数器值插入表中。无论如何,代码可以改变,以便线程得到增加的值。Reg:线程中的计数器变量
在下面的代码中,变量counter
是static int
public synchronized int testSequence(){
System.out.println("testSequence::::: "+counter++);
//Random rn = new Random();
CallableStatement cstmt;
{
try {
cstmt = conn.prepareCall("{call insertjtest(?)}");
cstmt.setInt(1,counter);
//cstmt.setInt(1, rn.nextInt());
cstmt.execute();
cstmt.close();
conn.commit();
return counter;
} catch (SQLException e) {
// TODO Auto-generated catch block
return 0;
}
}
}
但我发现了
这个问题并不完整,如果我们能看到整个班级,我们可以提供更好的答案。 – nanda 2010-07-23 09:43:39