各位大虾:
    一个jsp页面从上到下包括:
             
             out.print("打印你好");  //问候            abc.task(1);   //任务一
  
             def.task(2);   //任务二 
    
    用户执行该jsp页面后,首先看到了“打印你好”,然后执行任务1 。假设任务1需要10秒才能执行完,我想知道,当任务1执行到5秒时,用户又点击了其他页面,那么该页面的任务一 还会继续在服务器执行吗 ? 任务二还会执行吗?
    thanks in advance

解决方案 »

  1.   

    如果是多线程的话,两个都会执行,因为两个task在不同的线程内执行,不会有影响
      

  2.   

    谢谢阿,to zhangj0517:
        什么情况是属于你说的多线程呢?我举例说的是两个完全不同的任务
      

  3.   

    jsp当然是多线程,它最终是要翻译成servlet的。据我所知,还没有单线程servlet实现的容器。肯定会执行的。楼主不要问了。关于什么情况是多线程:servlet容器实现的都是多线程,即同一个servlet针对用户的每次请求都单独启动一个线程来处理,这样才能把多个请求(多个客户端对同一个servlet/jsp的请求)分离开来,不至于导致用户间的数据混乱
      

  4.   

    如果 任务1 和任务2 分别是新的线程 肯定是执行的
    他们的停止于否 和原来的页面已经没关联了
    原来的JSP只是给他们一个活动的理由
    标识2个任务线程序 用AJAX在页面中通过标识 继续监控2个任务线程的进度 这样就可以实现页面的动态进度