从这个代码下面执行代码太快..需要减慢,但如何?
if(!validate_containsNum && !validate_isNumber && !validate_isBlankField){
a.sendMsgToSlave("DATA:TAKE:PEOPLEs:"+pName_sub);
appendToGlobalDataLog("SEND : DATA:TAKE:PEOPLEs:"+pID+":"+p_sub);
String pID = pID_Manage.getText();
a.addtoArrayList("DATA:TAKE:PEOPLEs:"+pID+":"+pName_sub);
at.sendToServer("DATA:TAKE:PEOPLEs:"+pID+":"+pName_sub);
}
从上面的代码,我有这条线
a.sendMsgToSlave("DATA:TAKE:PEOPLEs:"+pName_sub);
实际上是调用我的客户,以便得到的回报也pID的从人民TABLE数据获取问题这将是返回到下一行应该被执行
String pID = pID_Manage.getText();
但随后作为下一行作业JTextField是添加某些圣响成具有PID和pName_Sub的组合,但后来当执行时,我发现我的ArrayList不具备pID..so,而不是真正的结果应该是这样的
DATA:TAKE:PEOPLEs:1:ALBERT (In my arraylist)
它显示像一个ArrayList这
DATA:TAKE:PEOPLEs::ALBERT (the id is missing)
我需要再次重新提交第二次只能拿到ID ...好像代码的执行太快和ID的回归JTextField中的存储是slow..any减慢速度的方法?
这不是代码执行得太快的情况,这是一个竞争条件。对于'a.sendMsgToSlave()'来说,正确的解决方案要么是阻塞,直到从机的PID被计算并存储为止,要么'a.sendMsgToSlave()'返回PID。实际上,最好的解决方案就是将这两者结合在一起。 – 2012-04-13 19:22:40