继承工作线程的具体任务线程
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 );//主线程操作新缓冲
。。。
}
}
分享到:
相关推荐
深入探讨了如何利用并发编程与多线程处理来构建高性能的C++应用。文章首先介绍了并发与并行的基本概念、线程与进程的区别,以及多线程的优势与挑战。接着,详细讲解了C++中支持并发编程的核心工具,包括`std::thread...
构建线程安全的应用程序是并发编程中的一个重要议题,涉及到多个线程共享同一资源时如何保持数据的一致性与完整性。 首先,线程安全性关注的是对象在操作过程中的状态完整性。在单线程环境下,对象的操作不会被打断...
### 基于MINA构建高性能的NIO应用 #### 概述 MINA作为一款优秀的客户端/服务器架构下的Java服务器框架,凭借其强大的功能和灵活性,在开发高性能网络应用程序方面表现突出。本文将深入探讨MINA的核心概念、优势...
以下将详细阐述构建高性能.NET应用时,如何配置高可用IIS服务器的核心知识点。 首先,需要理解IIS的基本架构和工作原理。IIS通过监听客户端发送来的HTTP请求,并调用请求处理程序来响应这些请求,将响应数据发送回...
### 构建高性能的J2EE分布式Web应用系统 #### 摘要 随着互联网技术的飞速发展,用户对Web应用系统的要求越来越高,尤其是在性能方面。为了满足日益增长的需求,开发人员必须掌握一系列优化技术和策略。本文将详细...
在"构建高性能可扩展ASP.NET网站(Ultra-Fast ASP.NET)"这本书中,作者深入探讨了如何优化ASP.NET应用,使其运行更快速、占用资源更少。书中的知识点可能包括: 1. **性能优化**:这涵盖了代码优化、数据库查询优化...
【标题】"构建高性能可扩展ASP.NET网站"为我们揭示了如何设计和开发能够处理高流量、高并发场景的Web应用程序。这本书的英文版配合SourceCode提供了深入实践的资源,帮助开发者提升ASP.NET应用的性能和扩展性。 ...
### 构建高性能的大型分布式Java应用 #### 第一章:分布式Java应用 **1.1 基于消息方式实现系统间通讯** 在分布式Java应用中,基于消息方式进行系统间通讯是一种常见的策略。这种方式的核心在于系统之间的交互是...
**Node.js-Sapper:构建高性能通用Web应用程序的框架** Node.js是基于Chrome V8引擎的JavaScript运行环境,它以其异步非阻塞I/O模型在服务器端编程领域中独树一帜,使得开发者可以用JavaScript来编写后端代码。...
在IT领域,MFC(Microsoft Foundation Classes)是一个C++库,由微软开发,用于构建Windows应用程序。MFC封装了Windows API,提供了面向对象的接口,使得开发者能够更方便地进行编程。在这个特定的情境中,"工作者...
构建高性能的J2EE应用程序是IT领域中的关键挑战之一,特别是在当今云计算和大数据时代,对系统性能和可扩展性的需求日益增长。以下是五个核心策略,它们可以帮助开发者在J2EE平台上实现这一目标。 首先,缓存...
在编程领域,尤其是在Android或Java应用开发中,工作线程(Worker Thread)和用户界面线程(UI Thread)是两个非常关键的概念。...在实际开发中,理解并熟练掌握这两者的关系对于构建高质量的应用至关重要。
【基于Linux系统的构建高性能服务器的研究】这篇论文主要探讨了如何在Linux环境下建立高效能的服务器,涉及的关键技术包括事件处理模式、并发模式以及资源管理策略。以下是对这些知识点的详细阐述: 1. **事件处理...
总结起来,MFC中的用户界面线程与工作者线程是构建高效、响应式应用程序的关键。UI线程专注于用户交互,保持界面流畅;工作者线程则负责处理耗时任务,避免阻塞UI。通过合理地分配任务和使用同步机制,可以充分利用...
总结来说,构建高性能的J2EE应用需要综合运用这些核心策略,根据应用的特定需求和工作负载进行权衡和调整。缓存、复制、并行处理、异步处理和资源池都是为了减少延迟、提高并发处理能力、优化资源使用和提升用户体验...
在 Netty 中,多线程的应用是其处理高并发、高性能的关键因素之一。下面我们将深入探讨 Netty 中的多线程并发应用。 1. **线程模型** Netty 采用了 Boss-Worker 线程模型,它由两部分组成:Boss 线程和 Worker ...
**标题解析:** "基于MINA构建简单高性能的NIO应用.pdf" 这个...通过阅读这份文档,读者不仅可以掌握MINA框架的基础知识,还能了解到如何构建高性能的NIO服务器,并在实践中进行性能优化,提升系统的稳定性和效率。