• java多线程应用场景


    java多线程应用场景

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

    1、应用场景

    (1)普通浏览器和网络服务(现在写的网络是帮你完成线程控制的中间部件),网络处理请求,各种专用服务器(比如游戏服务器)

    (2)servlet多线程。

    (3)FTP下载,多线程操作文件。

    (4)数据库中使用的多线程。

    (5)tomcat、tomcat内部采用多线程,数百个客户端访问同一WEB应用程序,tomcat访问后,将后续处理投入新的线程进行处理,该新的线程最后调用我们的servlet程序

    (6)后台任务:例如,定期向大量(100W以上)用户发送邮件;定期更新配置文件和任务调度(如quartz),一些监控用于定期收集信息。

    (7)自动操作处理:如定期备份日志,定期备份数据库等。

    2、实例

    等待超时模式。

    开发人员经常用这种方法调用场景。调用一种方法时等待一段时间(一般是给定时间段),如果该方法能在给定时间段内得到结果,则立即返回结果,相反,超时返回默认结果。

    一个简单的数据库连接池实例。

    JavaScript

    1. //java.sql.Connection是一个接口,最终的实现是由数据库驱动提供方来实现。
    2. //我们通过动态代理构造一个Connection,仅仅用于示范。
    3. public class ConnectionDriver {
    4. //动态代理的处理器类
    5. static class ConnectionHandler implements InvocationHandler{
    6. @Override
    7. public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
    8. Thread.sleep(100);
    9. return null;
    10. }
    11. }
    12. //创建一个Connection的代理,在commit时休眠100毫秒
    13. public static final Connection createConnection(){
    14. return (Connection)Proxy.newProxyInstance(ConnectionDriver.class.getClassLoader(),
    15. new Class<?>[]{Connection.class}, new ConnectionHandler());
    16. }
    17. }

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

     

  • 相关阅读:
    职场中需要注意这3种人
    单向循环链表
    Flutter 列表组件ListView 网格布局组件GridView
    Day07 Stream流&递归&Map集合&Collections&可变参数
    【中间件篇-Redis缓存数据库07】Redis缓存使用问题及互联网运用
    8.1.9:Extreme Optimization Numerical Libraries for .NET
    采用 vue3 + vite + element-plus + tsx + decorators + tailwindcss 构建 admin 管理员后台页面
    运营攻略︱推动用户增长的方法
    CSS 清除浮动
    SpringBoot 整合 MyBatis-Plus
  • 原文地址:https://blog.csdn.net/linyichao123/article/details/127714753