在java中为每个用户请求启动一个新线程

时间:2015-10-16 06:22:29

标签: java multithreading

在我的在线分析系统中,我想为每个启动算法的用户请求启动一个新线程。另外,我想保留每个线程的id以更新算法的进度。我不太熟悉threads.Kindly帮助我。 提前致谢

1 个答案:

答案 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);

}

}