死循环? 一个java问题。。。
类A :
方法:
- Java code
public boolean update(byte[] bytes , Integer readerId){ this.readerId = readerId; iob = IoBuffer.wrap(bytes); frameSize = bytes.length / 1024; if (bytes.length % 1024 > 0) frameSize++; //设置类给 ContrlCodeFilter ,发送命令。 ((CDMAControlCodeFilter) SpringContextTool.getBean("CDMAControlFilter")).setReaderUpdater(this); // 如果没有返回,等待... System.out.println("3333333333333333##########################"); while (!opSuccess) { } return result; }类 CDMAControlCodeFilter:
- Java code
//更新基站程序的方法private ReaderUpdater readerUpdater; if(readerUpdater!=null){ //do something... }当前台调用了。 A 类中的 update 方法后 ,程序就死在那里,CDMAControlCodeFilter 类中的方法完全没有执行了。
javac.exe 占用CPU 立马升高 在 50~75% .
请问,是什么情况?
类A 是前台提交一个文件后,创建一个类A ,类A 把自己赋给 CDMAControlCodeFilter , CDMAControlCodeFilter中执行完一些操作后,让类A 返回结果给 Action。。
[解决办法]
死循环啊~~~
如果要实时监测CDMAControlCodeFilter里的完成情况,用线程处理
[解决办法]
采用线程处理,
死循环,资源总是没有释放,CPU肯定会升红旗。。