【发布时间】:2012-12-05 23:24:25
【问题描述】:
我不是专家,只是初学者。所以我请你为我写一些代码。
我在 java 中有四个 ArrayLists -> error_list_A, list_A, error_list_B, list_B。
有一个独立运行的程序将对象添加到这些列表中。
我需要编写一个单独的程序来读取它们 1 分钟或直到它们为空,然后转到下一个。该程序应始终处于运行模式并侦听这些列表并进行处理。
有点像..
-
读取
error_list_A并处理其元素。如果没有元素则转到
list_A如果元素然后读取元素并删除它们,直到所有元素都被处理或达到 1 分钟的时间限制,然后转到
list_A -
读取
list_A并处理其元素。如果没有元素则转到
error_list_B如果元素然后读取元素并删除它们,直到所有元素都被处理或达到 1 分钟的时间限制,然后转到
error_list_B -
读取
error_list_B并处理其元素。如果没有元素则转到
list_B如果元素然后读取元素并删除它们,直到所有元素都被处理或达到 1 分钟的时间限制,然后转到
list_B -
读取
list_B并处理其元素。如果没有元素则转到
error_list_A(循环返回查看error_list_A中是否有新元素)如果元素随后读取元素并删除它们,直到所有元素都被处理或达到 1 分钟的时间限制,则转到
error_list_A(循环返回以查看error_list_A中是否有新元素) 循环回到步骤 1。
你能发布一些示例代码吗?
我知道如何阅读和处理它们,因此您可以忽略那部分。只需要在列表之间切换并保持它们在循环中读取的代码。
这不是家庭作业。在实际程序中,我必须通过读取存储来自 Web 应用程序的错误的目录来实现这一点。所以请不要说你在做作业而忽略它。
我试过这样的东西..
public class ListReader {
private static List<Object> list_A, error_list_A, list_B, error_list_B; // Initialize list by reading them.
public static void main(String[] args) {
while (true) {
if (error_list_A != null && error_list_A.size() > 0) {
processList(error_list_A);
} else if (list_A != null && list_A.size() > 0) {
processList(list_A);
} else if (list_B != null && list_B.size() > 0) {
processList(list_B);
} else if (error_list_B != null && error_list_B.size() > 0) {
processList(error_list_B);
}
}
}
private static void processList(List<Object> list){
// Code for when empty or time limit reached then return
}
}
但似乎没有意义。
谢谢。
【问题讨论】:
-
恐怕纯代码编写请求在 Stack Overflow 上是题外话。
-
首先您尝试一些东西,然后向我们展示您面临的一些实际问题。如果你表现出你的努力,我相信 SO 不会让你失望的。
-
我不需要纯代码。只是一些代码在列表之间切换并保持它们在循环中读取。
-
尝试一下,写一个
main,一个简单的Thread。得到一个错误。那么我们可以提供帮助。 -
另外你能发布一些示例代码吗?
标签: java multithreading loops time