【问题标题】:Guidance on creating a server that has a group of threads to process requests有关创建具有一组线程来处理请求的服务器的指南
【发布时间】:2010-09-02 16:20:36
【问题描述】:

假设我有 1000 封流行电子邮件,我必须从中提取电子邮件。

我想创建一个利用多线程的服务,这样我就可以同时从多个 pop3 服务器中提取电子邮件(与序列化进程相反)。

我该怎么做呢?

【问题讨论】:

    标签: java multithreading


    【解决方案1】:

    使用ThreadPoolExecutor

    API 文档中对 ThreadPoolExecutor 的描述:

    公共类 ThreadPoolExecutor 扩展 AbstractExecutorService

    一个 ExecutorService 执行每个 使用可能之一提交的任务 几个池线程,通常 使用 Executors 工厂配置 方法。

    线程池处理两个不同的 问题:他们通常提供 提高执行时的性能 大量异步任务, 由于减少了每个任务的调用 开销,它们提供了一种方法 限制和管理资源, 包括线程,消耗时间 执行任务集合。每个 ThreadPoolExecutor 还维护了一些 基本统计数据,例如数量 完成的任务。

    这里是简单的tutorial 理解相同。

    更多链接可以理解:

    http://programmingexamples.wikidot.com/threadpoolexecutor

    【讨论】:

      【解决方案2】:

      由于您对联网应用程序有特定要求,Apache Mina 可能会引起您的兴趣。

      来自主页:

      Apache MINA 是一个网络应用程序 帮助用户开发的框架 高性能和高可扩展性 网络应用程序轻松。它 提供抽象 · 事件驱动 · 各种异步 API 传输,例如 TCP/IP 和 UDP/IP 通过 Java NIO。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-08
        • 2020-08-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-25
        • 2021-12-06
        • 1970-01-01
        相关资源
        最近更新 更多