`
bxf12315
  • 浏览: 27318 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

通用数据推送 (5)-线程池

阅读更多

继续写,写的有点乱了,望大家不要介意,我会慢慢该过来的。

这是推送程序的activitiy diagram

 程序中涉及到一些线程处理方面的问题。

1 多线程的问题。

       由于程序中管理程序本身就是一个线程,他负责管理业务线程的初始化和启动,而为了提高效率我们又在业务线程实现了可配置的多线程处理方式。这样在我处理的最多的情况时,可能会执行近百个线程。而且,随着业务的增加还会有更多的线程需要启动。无限制的增加下去,会造成系统负担过重。所以我采用了对线程技术来处理这种问题。

其实很简单就是采用了,jdk1.5中的线程池。代码三行搞定

java 代码
  1. private ThreadPoolExecutor threadPool;   
  2.   
  3.         threadPool = new ThreadPoolExecutor(100100, 0L,   
  4.                 TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>());   
  5.         threadPool.prestartAllCoreThreads();   
  6.       
分享到:
评论

相关推荐

    个人用了8年的Java工程师简历

    - 调查并修复推送系统中的消息丢失问题。 - 协同前端同事解决用户分组管理中的问题。 通过上述知识点的总结,可以看出该求职者不仅具备深厚的Java技术功底,还具有丰富的项目经验和团队合作能力,在多个领域均有...

    rocketmq-3.2.6 JAR包

    此外,客户端还支持消息模式如Push模式(消息主动推送到消费者)和Pull模式(消费者主动拉取消息)。它还包含了Message类,用于封装消息内容,以及MessageQueue和MessageQueueSelector等类,用于管理和选择消息队列...

    面试篇大全.docx

    以上就是从给定文件中提取的关键知识点概述,涵盖了Java技术栈的多个方面,包括Spring Boot、多线程、Dubbo、Spring、Redis、MySQL等,以及一些通用的技术概念和面试技巧。希望这些内容能够帮助到准备面试的开发者们...

    qq聊天

    5. **实时推送**:为了实现实时聊天,服务器需要在接收到新消息后立即推送给对应的客户端。这可能涉及到推送服务如MQTT(Message Queuing Telemetry Transport)或者自建的推送系统。 6. **多线程与并发处理**:QQ...

    websocket需要用到jar包

    WebSocket是一种在客户端和服务器之间建立长连接的协议,它提供了双向通信的能力,使得服务器可以主动向客户端推送数据,而不仅仅是响应客户端的请求。在Java环境中,实现WebSocket功能通常需要依赖特定的库,如...

    user-account.zip

    消费者是接收消息的一方,它们可以从队列中拉取消息或等待服务器推送。实现RabbitMQ消费者需要理解基本的Exchange、Queue和Binding概念,并能正确处理消费确认和异常。 4. **限流技术**:在高并发场景下,限流可以...

    springboot110作业管理系统.zip

    6. 通知推送:系统支持消息推送,如作业发布、批改结果等,可通过邮件、短信等方式告知用户。 四、开发流程与测试 1. 设计阶段:采用RESTful API设计原则,编写接口文档。 2. 开发阶段:使用IDEA等开发工具,结合...

    apollo 源码需要的jar包

    Apollo是阿里巴巴开源的一款分布式配置中心,它能够集中化管理应用的配置,支持实时推送配置更改,使得应用在不停服的情况下动态调整配置。在基于Maven构建的项目中,虽然通过添加Apollo的Maven依赖可以正常引入大...

    JAMF管理员手册

    Tomcat线程池的配置也属于高级配置,关系到服务器资源的合理使用和响应速度。 JAMF作为一个品牌,旗下拥有一系列产品,它们各自拥有注册商标和商标。例如,Jamf Pro、Jamf Nation、Composer等,它们都是JAMF软件...

    Android http请求帮助类

    例如,`lpush.jar`可能是一个轻量级的推送服务客户端,而`LHttpClient.zip`可能是一个自定义的HTTP客户端库,提供了更高级的功能,如线程池管理、缓存策略等。在实际项目中,这些库可以帮助优化网络请求性能和提高...

    java程序设计+图书管理系统

    12. **版本控制**:项目开发过程中,使用Git进行版本控制,理解分支、合并、提交、推送等操作。 13. **测试**:学习单元测试和集成测试,如JUnit,确保代码的正确性。 以上只是部分关键知识点,实际项目可能涉及更...

    ffmpeg源码解析.rar

    7. **网络流媒体支持**:FFmpeg能够读取和推送RTSP、HTTP等协议的流媒体,这部分源码解析会涵盖网络协议的实现,以及如何处理实时传输中的延迟和丢包问题。 8. **硬件加速**:FFmpeg支持GPU加速,如NVENC、Intel ...

    E4A 清明类库(合集)

    5. 第三方服务集成:可能包含对第三方SDK的封装,如地图服务、支付接口、推送通知等,方便开发者快速接入这些服务。 6. 异常处理与日志记录:帮助开发者更好地调试和监控应用程序,确保程序稳定运行。 7. 图片处理...

    非常实用的设计模式课件打包下载

    常用于事件驱动编程和实时数据推送。 6. **装饰器模式**:动态地给一个对象添加一些额外的职责,既扩展了功能,又不破坏封闭原则。适用于在不影响其他对象的情况下,为对象增加行为。 7. **代理模式**:为其他对象...

    xxl-job分布式任务调度平台-其他

    27、推送maven中央仓库: 将会把最新稳定版推送到maven中央仓库, 方便用户接入和使用; 28、运行报表:支持实时查看运行数据,如任务数量、调度次数、执行器数量等;以及调度报表,如调度日期分布图,调度成功分布图等...

Global site tag (gtag.js) - Google Analytics