我正在处理多线程应用程序,所以我有一个线程,它有一个全局ArrayList变量,我正在从数据库中获取值列表并将其分配给该变量。我限制了应该获取的列表数量为 100。在后端我使用 hibernate。
我已经让这个线程定期在后台运行,但我想做的是,每当这个线程运行时,它都会获取接下来的 100 个项目列表。而且我不想使用静态,也不想将其维护在数据库中,我很困惑如何维护一个计数器,该计数器将告诉我的获取方法要获取的下 100 个项目。有人可以帮忙吗,我怎样才能实现这个目标?以下是我的代码示例,
public class DemoThread implements Runnable {
private ArrayList <<>> samplePojoList = null;
@Override
public void run() {
MyDaoClass dao = null;
try {
// this dao method fetching list of 100 results from database,
// for each iteration i want to fetch next 100 result from
// database
samplePojoList = dao.getSampleList();
} catch (Exception e) {}
}
}
最佳答案
在这种情况下,您可以很好地利用ThreadLocal
变量。
请参阅下面的示例:
private ThreadLocal<Integer> counter = new ThreadLocal<Integer>();
关于java - 在java中维护线程中变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37337833/