各位牛人,小弟现在想用给servlet传入几个参数,servlet解析之后,启动一个独立的处理线程,然后自己返回任务启动成功的信息。
现在直接new线程的话,servlet需要去等待这个线程的实现代码跑完,需要等待巨长的时间,请问有什么办法来实现这个功能呢?最好有些参考code或者需要看哪方面的知识,谢谢各位了,急求啊Servlet多线程

解决方案 »

  1.   

    怎么会呢,new好异步线程,start之后,就没有主线程啥事儿了的呀~
      

  2.   

    异步线程怎么创建啊?就是普通的线程吗?还是有什么特别的标识

    可以试试线程池的方式。
    ThreadPoolExecutor tpe = new MyThreadPoolExecutor();
            MyRunnable mr1 = new MyRunnable("Tigger");
            MyRunnable mr2 = new MyRunnable("Pig");        tpe.execute(mr1);
            tpe.execute(mr2);
            
    ThreadPoolExecutor 定义成静态的,所有的异步任务线程都放到这里。
      

  3.   

    不对,既然你新开启的线程是新的线程就不存在这问题,请自己理解线程的run方法和start方法前者只是普通的定义,后者才是真正意义上的线程启动,当新线程启动了,这时就应该是异步的不存在你说的问题了简单new一个线程然后你定义它的run方法就是说你想让它具体干啥,定义好后就start,就这么简单
      

  4.   

    不要用servlet,可以在jsp中启动线程,页面每隔一段时间刷新一次并调用线程中的getMessage()方法,此方法返回是你需要的线程就可以停了....页面刷新在jsp配个头就行了,自己上网搜搜可以实现你要的,我之前做过。