在我的在线分析系统中,我想为每个启动算法的用户请求启动一个新线程。另外,我想保留每个线程的id以更新算法的进度。我不太熟悉threads.Kindly帮助我。 提前致谢
答案 0 :(得分:0)
这可以为您提供有关如何使用线程池运行多个线程的基本概念。您可以从这里开始,根据需要定义自己的处理程序和池大小。您还可以将Handler定义为可调用而不是runnable
public class MyTest {
@Test
public void myTest() {
ExecutorService es = Executors.newFixedThreadPool(5);
es.submit(new Handler(1));
es.submit(new Handler(2));
es.submit(new Handler(3));
// block to show theads executions
try {
System.in.read();
} catch (IOException e) {
e.printStackTrace();
}
}
}
class Handler implements Runnable {
int userId;
public Handler(int userId) {
super();
this.userId = userId;
}
@Override
public void run() {
System.out.println("running for user:"+userId);
}
}