gpt4 book ai didi

java - 停止该方法直到另一个执行完成?

转载 作者:行者123 更新时间:2023-12-01 14:36:33 26 4
gpt4 key购买 nike

我有一个 for 循环,它向 ArrayList 添加 50,000 个对象,如下所示,因此执行时间较长。

public List<GoogleFeedEntry> getEntries(Iterator it) {
GoogleFeedUtil gfu = new GoogleFeedUtil(host, prefix, domain, serverName);
List<GoogleFeedEntry> entry = new ArrayList<GoogleFeedEntry>();
GoogleFeedEntry gfe;
GoogleFeedEntryShipping shipping;
while (it.hasNext()) {
gfe = new GoogleFeedEntry();
shipping = new GoogleFeedEntryShipping();
ProductBO product = (ProductBO) it.next();

entry.add(gfe);
}
return entry;
}

在这个方法之后,我调用另一个方法,例如

public void doSomething(){
//some code here
}

我在另一个方法中调用这两个方法。如果我列出的对象数量有限,那么它就可以正常工作。如果有 50,000 个对象,则会抛出以下异常

java.sql.SQLException: Maximum open cursors exceeded ORA-01000

我觉得这与甲骨文无关(如果我是对的)。当然,我正在从数据库加载所有对象。

当我在第一种方法中设置断点时,它工作正常。

如何停止第二个方法,直到第一个方法执行?

可能是什么原因?

最佳答案

您可以在另一个线程中运行此方法,并使用 wait() 停止他,然后使用 notify() 方法运行他。

关于java - 停止该方法直到另一个执行完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16442867/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com