java多线程如何应用
作者:WeekendLife
时间:2023-04-26
浏览:1
1、应用场景(1)普通浏览器和网络服务(现在写的网络是帮你完成线程控制的中间部件),网络处理请求,各种专用服务器(比如游戏服务器)(2)servlet多线程。(3)FTP下载,多线程操作文件。(4)数据库中使用的多线程。(5)tomcat、tomcat内部采用多线程,数百个客户端访问同一WEB应用程序,tomcat访问后,将后续处理投入新的线程进行处理,该新的线程最后调用我们的servlet程序(6)后台任务:例如,定期向大量(100W以上)用户发送邮件;定期更新配置文件和任务调度(如quartz),一些
1、应用场景
(1)普通浏览器和网络服务(现在写的网络是帮你完成线程控制的中间部件),网络处理请求,各种专用服务器(比如游戏服务器)
(2)servlet多线程。
(3)FTP下载,多线程操作文件。
(4)数据库中使用的多线程。
(5)tomcat、tomcat内部采用多线程,数百个客户端访问同一WEB应用程序,tomcat访问后,将后续处理投入新的线程进行处理,该新的线程最后调用我们的servlet程序
(6)后台任务:例如,定期向大量(100W以上)用户发送邮件;定期更新配置文件和任务调度(如quartz),一些监控用于定期收集信息。
(7)自动操作处理:如定期备份日志,定期备份数据库等。
2、实例
等待超时模式。
开发人员经常用这种方法调用场景。调用一种方法时等待一段时间(一般是给定时间段),如果该方法能在给定时间段内得到结果,则立即返回结果,相反,超时返回默认结果。
一个简单的数据库连接池实例。
//java.sql.Connection是一个接口,最终的实现是由数据库驱动提供方来实现。
//我们通过动态代理构造一个Connection,仅仅用于示范。
public class ConnectionDriver {
//动态代理的处理器类
static class ConnectionHandler implements InvocationHandler{
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
Thread.sleep(100);
return null;
}
}
//创建一个Connection的代理,在commit时休眠100毫秒
public static final Connection createConnection(){
return (Connection)Proxy.newProxyInstance(ConnectionDriver.class.getClassLoader(),
new Class>[]{Connection.class}, new ConnectionHandler());
}
}
作者最新文章
parallels desktop内存分配怎么更改
2026-10-09 15:31
photoshop钢笔工具抠图怎么用
2026-10-06 12:02
打印机暂停打印的解决方法及恢复正常打印步骤
2026-09-22 14:32
华强北手机全线涨价:涨幅400-1500元,存储成本推高售价
2026-09-08 19:22
PDF转XML操作步骤与在线工具使用指南
2026-09-03 10:06
上一篇:
thinkphp5有没有分页类
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多










































