java多线程应用场景
原创
©著作权归作者所有:来自51CTO博客作者很酷的站长的原创作品,请联系作者获取转载授权,否则将追究法律责任
java多线程应用场景
本教程操作环境:windows7系统、java10版,DELL G3电脑。
1、应用场景
(1)普通浏览器和网络服务(现在写的网络是帮你完成线程控制的中间部件),网络处理请求,各种专用服务器(比如游戏服务器)
(2)servlet多线程。
(3)FTP下载,多线程操作文件。
(4)数据库中使用的多线程。
(5)tomcat、tomcat内部采用多线程,数百个客户端访问同一WEB应用程序,tomcat访问后,将后续处理投入新的线程进行处理,该新的线程最后调用我们的servlet程序
(6)后台任务:例如,定期向大量(100W以上)用户发送邮件;定期更新配置文件和任务调度(如quartz),一些监控用于定期收集信息。
(7)自动操作处理:如定期备份日志,定期备份数据库等。
2、实例
等待超时模式。
开发人员经常用这种方法调用场景。调用一种方法时等待一段时间(一般是给定时间段),如果该方法能在给定时间段内得到结果,则立即返回结果,相反,超时返回默认结果。
一个简单的数据库连接池实例。
JavaScript
//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());
}
}
以上就是java多线程的应用场景,大家在掌握了本篇的内容后,在遇到类似需要多线程使用的场景时,就可以展开有关线程问题的处理和解决了。