多线程控制问题
我用java写了一个多线程调用存储过程的程序,不同的线程调用不同的存储过程。多线程用while循环控制,当所有线程的完成标志是“1”时,自动跳出循环。部署到weblogic上时,有时能跳出循环,有时跳不出。不知道咋回事?后来我研究了一下存储过程,发现有两个存储过程对同一张表做更新,有点怀疑是它的问题,但没没有根据。请高手们指点一下。 多线程 Java 存储 WebLogic --------------------编程问答-------------------- 自己up一下。 --------------------编程问答-------------------- 你是在同一个while里,对所有的线程进行判断的么?那段代码发来看看那 --------------------编程问答-------------------- 数据库应该不会出现同步问题的,还是看看你写的代码吧 --------------------编程问答-------------------- 没代码也没办法回答啊。 --------------------编程问答-------------------- 下面是while循环里的代码: 如果线程类的对象成功执行完调用的存储过程,getErrorInfo()获取的就是空,否则就是“1”。
while(flag==1){
// 当所有线程的错误信息部都不为“1”时,所有线程都运行结束
if(!"1".equals(sr2.getErrorInfo())&&!"1".equals(sr5.getErrorInfo())&&!"1".equals(sr6.getErrorInfo())){
flag ++;
}
if(!"1".equals(sr7.getErrorInfo())&&!"1".equals(sr8.getErrorInfo())&&!"1".equals(sr12.getErrorInfo())){
flag ++;
}
if(!"1".equals(sr10.getErrorInfo())&&!"1".equals(sr13.getErrorInfo())&&!"1".equals(sr14.getErrorInfo())&&!"1".equals(sr15.getErrorInfo())){
flag ++;
}
// 当上面条件都满足时,表明所有线程都结束。此时flag=4。
if(flag<4){
flag = 1;
}
} --------------------编程问答-------------------- 是对所有的线程判读的,代码如上! --------------------编程问答--------------------
看了那段代码,感觉不算是多线程。单个请求要求所有存储过程成功,是要串行执行的(至少这一次判断中涉及的要串行的)。 --------------------编程问答--------------------
是对所有的线程判读的,代码如上!
你是在同一个while里,对所有的线程进行判断的么?
那段代码发来看看那
看了那段代码,感觉不算是多线程。单个请求要求所有存储过程成功,是要串行执行的(至少这一次判断中涉及的要串行的)。
补充:Java , Java相关