品易云推流 关闭
文章详情页
文章 > java基础 > java多线程应用场景

java多线程应用场景

Java多线程

头像

小妮浅浅

2021-04-20 09:49:155184浏览 · 0收藏 · 0评论

本教程操作环境:windows7系统、java10版,DELL G3电脑。

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());
}
}

以上就是java多线程的应用场景,大家在掌握了本篇的内容后,在遇到类似需要多线程使用的场景时,就可以展开有关线程问题的处理和解决了。更多编程基础知识学习:python学习网

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图