[英]Execute multiple hibernate queries using threads in java
I have the following lines to execute, and I want to know if there is a way using threads to execute them all at once.我有以下几行要执行,我想知道是否有办法使用线程一次执行它们。
repository_1.deleteAll();
repository_2.deleteAll();
repository_3.deleteAll();
repository_4.deleteAll();
repository_5.deleteAll();
repository_6.deleteAll();
new Thread(repository_1::deleteAll).start();
new Thread(repository_2::deleteAll).start();
new Thread(repository_3::deleteAll).start();
new Thread(repository_4::deleteAll).start();
new Thread(repository_5::deleteAll).start();
new Thread(repository_6::deleteAll).start();
or if you are on an older java version:或者,如果您使用的是较旧的 java 版本:
new Thread(new Runnable() { @Override public void run() { repository_1.deleteAll(); }}).start();
new Thread(new Runnable() { @Override public void run() { repository_2.deleteAll(); }}).start();
new Thread(new Runnable() { @Override public void run() { repository_3.deleteAll(); }}).start();
new Thread(new Runnable() { @Override public void run() { repository_4.deleteAll(); }}).start();
new Thread(new Runnable() { @Override public void run() { repository_5.deleteAll(); }}).start();
new Thread(new Runnable() { @Override public void run() { repository_6.deleteAll(); }}).start();
or if you want to wait for all of them to finish deleting before continuing your code:或者如果您想在继续执行代码之前等待所有这些都完成删除:
Thread t1 = new Thread(repository_1::deleteAll);
Thread t2 = new Thread(repository_2::deleteAll);
Thread t3 = new Thread(repository_3::deleteAll);
Thread t4 = new Thread(repository_4::deleteAll);
Thread t5 = new Thread(repository_5::deleteAll);
Thread t6 = new Thread(repository_6::deleteAll);
t1.start();
t2.start();
t3.start();
t4.start();
t5.start();
t6.start();
try {
t1.join();
t2.join();
t3.join();
t4.join();
t5.join();
t6.join();
} catch (Throwable tr) {
tr.printStackTrace();
}
you could also use a method to do all of that without repeating the same code over and over again btw.您还可以使用一种方法来完成所有这些操作,而无需一遍又一遍地重复相同的代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.