[英]Making simultaneous function calls in Java
在我的应用程序中,我按以下方式加载缓存。
上述每个调用都涉及数据库调用。 像智者一样,有6-7个电话。
当我的应用程序被加载时,我必须等待直到加载缓存。
这些都是一个接一个的顺序呼叫。
如果我能找到一种方法来并行进行这些调用,那么应用程序加载期间的等待时间将大幅减少。
有人可以帮我做这样的并行电话或任何其他替代方法吗?
提前致谢。
您可以使用执行程序框架:
public static void main(String args[]) throws InterruptedException {
ExecutorService executor = Executors.newFixedThreadPool(3);
Runnable user = new Runnable() {
@Override
public void run() {
loadUserChache();
}
};
Runnable account = new Runnable() {
@Override
public void run() {
loadAccountCache();
}
};
Runnable customer = new Runnable() {
@Override
public void run() {
loadCustomerCache();
}
};
executor.submit(user);
executor.submit(account);
executor.submit(customer);
executor.shutdown();
executor.awaitTermination(10, TimeUnit.SECONDS); //handle timeout here
}
为要并行运行的每个代码块启动一个新的Thread。
new Thread(new Runnable(){
loadUserCache();
}).start();
new Thread(new Runnable(){
loadAccountCache();
}).start();
new Thread(new Runnable(){
loadCustomerCache();
}).start();
要么
new Thread(new Runnable(){
loadUserCache();
loadAccountCache();
loadCustomerCache();
}).start();
是的,这个一般性主题可以快速打开各种问题。 多线程代码可能非常复杂,但在您的情况下,上述情况可能会很好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.