`

构建高性能工作线程 四 具体应用

    博客分类:
  • java
 
阅读更多

继承工作线程的具体任务线程

public class BeenCoverThread extends WorkThread {

    //缓冲队列,任务线程处理完结果放入到缓冲队列
    private LinkedBlockingQueue beenCoverQueue;

    //taskExecutor 线程池出入线程进行监控
   //beenCoverQueue 传入缓冲队列
   public BeenCoverThread (CallInfo callInfo,TaskExecutor taskExecutor, LinkedBlockingQueue beenCoverQueue) {
      super(taskExecutor);
      this.beenCoverQueue= beenCoverQueue;
   }

    //实现父类,具体做的任务在此完成,一些很耗时的操作放入此处完成
    public void doTask() throws Exception {
        。。。。
      beenCoverQueue.offer(beenInfo);//处理结果放入缓冲队列
     。。。。
   }

}

 
定时任务进行定期启动任务

public class QueryCallTask {
     //缓冲队列
     private static LinkedBlockingQueue beenCoverQueue = new LinkedBlockingQueue<BeenCoverInfo>();
    
     //已经在配置的  扩展spring后的线程池
     private TaskExecutor beenCoverExecutor;

     // 定时任务 执行方法   
     public void execute() {
          .......
           beforeExcute();//进入线程前进行全局缓冲区一些操作
          .......
           for (int i = 0; i < callList.size(); i++) {
                 CallInfo callInfo = callList.get(i);
                 beenCoverExecutor.execute(new BeenCoverThread(
                       callInfo,beenCoverExecutor,beenCoverQueue)
           }
          .......
     }
     
     private void beforeExcute(){
        。。。
     final LinkedBlockingQueue beenCoverQueue2 = new LinkedBlockingQueue(beenCoverQueue);//复制到新缓冲
       beenCoverQueue.clear();//清空全局缓冲
       .....
       cationDao.batchUpdate(beenCoverQueue2 );//主线程操作新缓冲
     。。。

    }
}

 


分享到:
评论
2 楼 sblig 2012-10-09  
zgdodo 写道
没太明白缓存区的作用

全局缓存 移交给主线程后 继续放入工作线程池中
1 楼 zgdodo 2012-10-09  
没太明白缓存区的作用

相关推荐

    构建高性能C++应用:并发编程与多线程处理-.md

    深入探讨了如何利用并发编程与多线程处理来构建高性能的C++应用。文章首先介绍了并发与并行的基本概念、线程与进程的区别,以及多线程的优势与挑战。接着,详细讲解了C++中支持并发编程的核心工具,包括`std::thread...

    构建线程安全应用程序

    构建线程安全的应用程序是并发编程中的一个重要议题,涉及到多个线程共享同一资源时如何保持数据的一致性与完整性。 首先,线程安全性关注的是对象在操作过程中的状态完整性。在单线程环境下,对象的操作不会被打断...

    基于MINA构建高性能的NIO应用

    ### 基于MINA构建高性能的NIO应用 #### 概述 MINA作为一款优秀的客户端/服务器架构下的Java服务器框架,凭借其强大的功能和灵活性,在开发高性能网络应用程序方面表现突出。本文将深入探讨MINA的核心概念、优势...

    构建高性能.NET 应用之配置高可用IIS 服务器

    以下将详细阐述构建高性能.NET应用时,如何配置高可用IIS服务器的核心知识点。 首先,需要理解IIS的基本架构和工作原理。IIS通过监听客户端发送来的HTTP请求,并调用请求处理程序来响应这些请求,将响应数据发送回...

    构建高性能的J2EE分布式Web应用系统.pdf

    ### 构建高性能的J2EE分布式Web应用系统 #### 摘要 随着互联网技术的飞速发展,用户对Web应用系统的要求越来越高,尤其是在性能方面。为了满足日益增长的需求,开发人员必须掌握一系列优化技术和策略。本文将详细...

    [全]构建高性能可扩展ASP.NET网站+代码

    在"构建高性能可扩展ASP.NET网站(Ultra-Fast ASP.NET)"这本书中,作者深入探讨了如何优化ASP.NET应用,使其运行更快速、占用资源更少。书中的知识点可能包括: 1. **性能优化**:这涵盖了代码优化、数据库查询优化...

    构建高性能可扩展ASP.NET网站(pdf英文版 + SourceCode)

    【标题】"构建高性能可扩展ASP.NET网站"为我们揭示了如何设计和开发能够处理高流量、高并发场景的Web应用程序。这本书的英文版配合SourceCode提供了深入实践的资源,帮助开发者提升ASP.NET应用的性能和扩展性。 ...

    构建高性能的大型分布式java应用

    ### 构建高性能的大型分布式Java应用 #### 第一章:分布式Java应用 **1.1 基于消息方式实现系统间通讯** 在分布式Java应用中,基于消息方式进行系统间通讯是一种常见的策略。这种方式的核心在于系统之间的交互是...

    Node.js-Sapper一个构建高性能通用Web应用程序的框架

    **Node.js-Sapper:构建高性能通用Web应用程序的框架** Node.js是基于Chrome V8引擎的JavaScript运行环境,它以其异步非阻塞I/O模型在服务器端编程领域中独树一帜,使得开发者可以用JavaScript来编写后端代码。...

    MFC 工作者线程 线程

    在IT领域,MFC(Microsoft Foundation Classes)是一个C++库,由微软开发,用于构建Windows应用程序。MFC封装了Windows API,提供了面向对象的接口,使得开发者能够更方便地进行编程。在这个特定的情境中,"工作者...

    解析构建高性能J2EE应用的5种核心策略

    构建高性能的J2EE应用程序是IT领域中的关键挑战之一,特别是在当今云计算和大数据时代,对系统性能和可扩展性的需求日益增长。以下是五个核心策略,它们可以帮助开发者在J2EE平台上实现这一目标。 首先,缓存...

    工作线程 UI线程实例

    在编程领域,尤其是在Android或Java应用开发中,工作线程(Worker Thread)和用户界面线程(UI Thread)是两个非常关键的概念。...在实际开发中,理解并熟练掌握这两者的关系对于构建高质量的应用至关重要。

    基于Linux系统的构建高性能服务器的研究.pdf

    【基于Linux系统的构建高性能服务器的研究】这篇论文主要探讨了如何在Linux环境下建立高效能的服务器,涉及的关键技术包括事件处理模式、并发模式以及资源管理策略。以下是对这些知识点的详细阐述: 1. **事件处理...

    MFC用户界面线程与工作者线程

    总结起来,MFC中的用户界面线程与工作者线程是构建高效、响应式应用程序的关键。UI线程专注于用户交互,保持界面流畅;工作者线程则负责处理耗时任务,避免阻塞UI。通过合理地分配任务和使用同步机制,可以充分利用...

    解析构建高性能J2EE应用的核心策略.doc

    总结来说,构建高性能的J2EE应用需要综合运用这些核心策略,根据应用的特定需求和工作负载进行权衡和调整。缓存、复制、并行处理、异步处理和资源池都是为了减少延迟、提高并发处理能力、优化资源使用和提升用户体验...

    netty中的多线程应用

    在 Netty 中,多线程的应用是其处理高并发、高性能的关键因素之一。下面我们将深入探讨 Netty 中的多线程并发应用。 1. **线程模型** Netty 采用了 Boss-Worker 线程模型,它由两部分组成:Boss 线程和 Worker ...

    基于MINA构建简单高性能的NIO应用.pdf

    **标题解析:** "基于MINA构建简单高性能的NIO应用.pdf" 这个...通过阅读这份文档,读者不仅可以掌握MINA框架的基础知识,还能了解到如何构建高性能的NIO服务器,并在实践中进行性能优化,提升系统的稳定性和效率。

Global site tag (gtag.js) - Google Analytics