0 0

servlet 起线程 写数据0

public class HelloServet extends HttpServlet {
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws IOException, ServletException {
		final BufferedWriter w = new BufferedWriter(new OutputStreamWriter(response.getOutputStream()));
		w.write("hello!");
		w.flush();
		new Thread(new Runnable(){
			public void run()
			{
				try {
					try {
						TimeUnit.SECONDS.sleep(10);
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
					w.write("hi");
					w.flush();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}).start();
	//	w.close();
	}
}


代码如上:前台页面只显示hello! 过10秒后不会显示hi。。。不知道为什么?求解。。。
2013年3月09日 19:31

2个答案 按时间排序 按投票排序

0 0

你的请求已经被关闭了,所以response就不能再像外面写数据了

2013年3月10日 08:38
0 0

哥,上面已经有了w.flush();
flush以后,这个方法就已经返回了,后面的都不会执行

2013年3月09日 21:22

相关推荐

    servlet线程安全问题

    这样,当两个或多个线程同时访问同一个 Servlet 时,可能会发生多个线程同时访问同一资源的情况,数据可能会变得不一致。 Servlet 的线程安全问题主要是由于实例变量使用不当而引起的。例如,在一个 Servlet 中定义...

    servlet多线程

    5. **对外部资源的线程安全操作**:在多个Servlet中对同一外部资源(如文件)进行修改时,必须实施锁定机制,确保任何时刻只有一个线程能够进行写操作,避免数据混乱。 #### 四、SingleThreadModel接口 `javax....

    servlet与Struts action线程安全问题分析

    例如,一个Servlet实例中的实例变量被多个线程共享,如果没有适当的同步控制,可能会导致数据不一致。在上述例子中,`ConcurrentTest`Servlet定义了一个实例变量`output`,在`service`方法中,这个变量被用来向...

    1工作临时-servlet 多线程问题

    至于提供的文件"8点25分平安大厦集合旅游人员名单.xls",虽然与Servlet多线程问题无关,但可能是某个实际应用场景中涉及的数据或计划,比如用于统计并发访问的用户信息,或者是记录多线程处理过程中的某些状态信息。...

    Servlet线程同步计数器实验

    Servlet线程同步计数器实验是Java Web开发中一个重要的实践课题,主要涉及到Servlet容器如何处理并发请求以及如何确保在多线程环境下的数据一致性。在这个实验中,我们将深入理解Servlet生命周期、线程模型以及线程...

    Servlet线程安全的解决方法

    综上所述,解决Servlet线程安全问题的关键在于合理地管理线程间的数据共享。通过实现`SingleThreadModel`接口、使用`synchronized`关键字以及利用`ThreadLocal`类等方法,可以在不同程度上解决这一问题。然而,在...

    Web-Servlet_多线程_

    避免在Servlet实例中使用非线程安全的数据结构,如ArrayList,应使用ConcurrentHashMap等线程安全的集合类。此外,使用synchronized关键字对关键代码块进行同步,防止数据竞争。 2. 线程池:过度创建线程可能导致...

    Servlet线程安全问题.docx

    Servlet线程安全问题详解 在Java Web开发中,Servlet是一个重要的组件,用于处理HTTP请求。然而,Servlet在多线程环境下的线程安全问题是一个不容忽视的话题。在Servlet的生命周期中,Tomcat容器会根据需求实例化...

    深入研究Servlet线程安全性问题

    Servlet线程安全性问题是一个在Java Web开发中至关重要的议题,特别是在高并发环境下。Servlet作为Java服务器端组件,其默认的多线程模型使得一个Servlet实例可能会被多个客户端请求同时调用,这就要求开发者对线程...

    深入研究Servlet线程安全性问题.pdf

    ### 深入研究Servlet线程安全性问题 #### 一、引言 Servlet技术作为Java Web开发中的核心组件之一,因其高效性和灵活性被广泛应用于Web应用程序的开发中。Servlet能够处理HTTP请求,并产生相应的响应。它的一个...

    tomcat中多线程对于servlet处理的4篇资料

    接收到请求后,连接器将请求数据转换为内部格式,并传递给一个空闲的Coyote线程,由该线程调用Servlet进行处理。 10. **线程池的扩展性** Tomcat允许通过添加自定义的Executor来替换默认的线程池,这样可以根据...

    Springboot Druid多数据源 多线程

    在实际应用中,多数据源和多线程的组合常常用于大数据处理、分布式系统以及需要跨数据库操作的场景。例如,一个电商系统可能需要同时使用MySQL存储用户信息,而Oracle用于订单和库存管理。通过Druid的监控和多线程...

    servlet基础与servlet容器模型

    这意味着Servlet必须是线程安全的,避免在多个线程间共享数据。 总的来说,Servlet基础知识和Servlet容器模型构成了Java Web开发的核心部分。掌握这些概念有助于理解Web应用的工作原理,以及如何在实际项目中有效地...

Global site tag (gtag.js) - Google Analytics