package com.tuan.partner.client.impl;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import org.apache.commons.logging.Log;
import com.tuan.partner.client.util.WoWoLogger;
public class ThreadPoolManager {
private static Log logger = WoWoLogger.getLog(ThreadPoolManager.class);
private static final int CORE_POOL_SIZE = 20;
private static final int MAX_POOL_SIZE = 50;
private static final long KEEP_ALIVE_TIME = 0;
private static final int WORK_QUEUE_SIZE = 1000;
private static ThreadPoolManager threadPoolManager = new ThreadPoolManager();
final ThreadPoolExecutor threadPool = new ThreadPoolExecutor(
CORE_POOL_SIZE, MAX_POOL_SIZE, KEEP_ALIVE_TIME, TimeUnit.SECONDS,
new ArrayBlockingQueue(WORK_QUEUE_SIZE),
new ThreadPoolExecutor.CallerRunsPolicy());
public static ThreadPoolManager newInstance() {
return threadPoolManager;
}
public void execute(Runnable command) {
logger.debug("execute thread");
this.threadPool.execute(command);
}
public BlockingQueue getQueue() {
return this.threadPool.getQueue();
}
public ThreadPoolExecutor getPool() {
return this.threadPool;
}
}
分享到:
相关推荐
40个工作中最常会用到的思维模型.pdf
Java工具类是编程中不可或缺的部分,它们提供了许多实用的功能,帮助开发者提高代码的复用性和效率。以下是对这些工具类的详细说明: 1. **StringUtil.java**:字符串处理工具类,通常包含各种对字符串进行操作的...
3. **Flash及其他多媒体插件**:尽管Flash已经不再被广泛支持,但在某些特定场景下,可能会用到类似的技术来实现特定的交互效果。 ### 五、网站优化与维护 1. **SEO优化**:搜索引擎优化是提高网站在搜索引擎结果...
在网页设计中,为了提供更好的用户体验,常会集成在线客服功能,使用户能方便快捷地与网站后台进行实时沟通。本资源"左侧浮动可折叠的QQ在线客服代码"正是为实现这一目标而设计的。它将客服对话框置于网页左侧,并且...
建筑和工程行业研究:国常会针对性聚焦民企融资,优质民企再获支持.pdf
3. **函数**:在C++中,为了保持代码的模块化和可读性,常会将每个菜单项的功能封装到独立的函数中。这样,菜单选项就成为函数调用的触发器。例如,你可以有一个`displayMessage()`函数,当用户选择“显示消息”选项...
- **逆向工程**:安全研究人员分析恶意软件或测试应用安全性的过程中,常会用到反编译。 - **二次开发**:在开源项目的基础上进行定制化开发时,可能会需要查看源代码。 6. **安全实践**: - **加固**:开发者...
JS代码库常会包含对这些事件的处理和封装,例如点击事件、滚动事件等。 6. **DOM操作**: Document Object Model (DOM)是HTML和XML文档的结构表示,JS代码库通常包含方便的DOM操作方法,如选择元素、添加/删除元素...
- **面试准备**:面试官常会询问关于 Java 内置类的工作方式,熟悉源代码能让你在面试中自信地回答这些问题。 - **问题调试**:当遇到难以理解的异常或行为时,查阅源代码可以帮助你找到问题的根源,快速定位并解决...
5. **数据结构与算法**:游戏开发中常会用到各种数据结构(如队列、栈、链表、图)和算法(如搜索、排序、路径查找)。这些代码示例可能会揭示如何高效地存储和处理游戏数据,以优化性能。 6. **内存管理与性能优化...
视频监控系统技术规范-通用部分
在处理数据时,我们常会用到算术、比较和逻辑操作符,以及用于对象和数组操作的赋值、解构赋值等。 在“JS练习代码”中,你可能会遇到关于函数的练习,比如函数声明与函数表达式的区别,以及如何使用参数和返回值。...
3. **注册表检查**:木马常会修改注册表以达到持久化或隐藏自身的目的。源代码中可能包含读取和解析注册表键值的代码,查找并恢复被篡改的设置。 4. **异常检测**:通过分析系统日志、网络流量、资源使用等异常行为...
8. **算法与数据结构**:在解决排课问题时,可能需要用到各种算法,如贪心算法、回溯法或遗传算法,以及图论中的拓扑排序等,以有效地找出满足所有约束的最优解。 9. **单元测试**:为了确保代码的质量和功能正确性...
在使用 时时常会出现一些莫明其妙的错误.有时系统会给出相应的错误代码,却因不知错误代码的含义,无法对错误进行适当的修正,从而影响下次的使用.这款小软件,可以查找常用的错误代码的含义,使用用户遇到这种情况后不会...
6. **面向对象编程**:封装、继承、多态是面向对象编程的三大特性,面试中常会询问如何设计类和接口,以及如何利用这些特性解决实际问题。 7. **设计模式**:工厂模式、单例模式、观察者模式等常见的设计模式,可以...
4. **jQuery或其他库**:虽然JavaScript可以完成瀑布流布局,但为了简化开发,开发者常会使用jQuery或类似的库。这些库提供了便捷的DOM操作、事件处理等功能,可以简化代码,提高开发效率。 5. **数据获取与处理**...
4. **数学与逻辑**:在游戏编程中,常会用到数学计算,比如角度、速度和距离。Scratch提供了丰富的数学函数,如加减乘除、随机数等,来实现这些计算。 5. **侦测与交互**:通过“碰到”、“距离”等积木,可以检测...
ID卡通常会发送包含卡片ID号的数据包,这个ID号可能是EPC(Electronic Product Code)或UID(Unique Identifier)。C#代码需要能正确解析这些二进制数据,并将其转换为可读格式。这可能涉及到位操作、字节顺序转换...