Java class snippet:
public static void main(String[] args) throws FileNotFoundException SQLException, ParseException {
TaskCheck tc = new TaskCheck();
if (args.length != 1)
{
System.err.println("Missing parameter. Please pass the task Name.");
System.exit(1);
}
else
{
// Logic goes here
}
}
我用一个参数运行上面的Java类。例如:
java TaskCheck "testtask1"
我需要使用不同的参数同时运行这个Java类。那么,我应该使用多线程来实现这一目标吗?
对于Ex:
java TaskCheck "testtask1"
java TaskCheck "testtask2"
java TaskCheck "testtask3"
答案 0 :(得分:0)
多线程是实现并行性的一种方法
public class Echo{
public static void main(final String[] args){
if (args.length == 0)
{
System.err.println("Missing parameter. Please pass the task Name.");
System.exit(1);
}
for(final String taskName : args){
Thread t = new Thread(){
public void run(){
System.out.println(taskName);
TaskCheck tc = new TaskCheck();
}
};
t.start();
}
}
}
答案 1 :(得分:0)
实际上它与多线程无关。您只想同时多次运行程序。它通常由您的操作系统实现。
例如,在Unix下,你可以做到
text = "I love the eighteen nineties"
mapping = {"eighteen nineties" => "1890's"}
pattern = /\b#{Regexp.union(mapping.keys)}\b/
text.gsub(pattern, mapping)
# => "I love the 1890's"
在Windows下,
#> java TaskCheck "testtask1" &
#> java TaskCheck "testtask2" &
#> java TaskCheck "testtask3" &
如果您需要纯Java解决方案,可以通过运行#> start java TaskCheck "testtask1"
#> start java TaskCheck "testtask2"
#> start java TaskCheck "testtask3"
命令来查看Runtime.exec()
和ProcessBuilder
来创建子进程。