package com.mjm.demo.mq;
import java.util.LinkedList;
import java.util.Queue;
import java.util.concurrent.*;
public class ThreadPoolManager {
private static ThreadPoolManager tpm = new ThreadPoolManager();
// 线程池维护线程的最少数量
private final static int CORE_POOL_SIZE = 4;
// 线程池维护线程的最大数量
private final static int MAX_POOL_SIZE = 10;
// 线程池维护线程所允许的空闲时间
private final static int KEEP_ALIVE_TIME = 0;
// 线程池所使用的缓冲队列大小
private final static int WORK_QUEUE_SIZE = 10;
// 消息缓冲队列
Queue msgQueue = new LinkedList();
// 访问消息缓存的调度线程
final Runnable accessBufferThread = new Runnable() {
@Override
public void run() {
// 查看是否有待定请求,如果有,则创建一个新的AccessDBThread,并添加到线程池中
if ( hasMoreAcquire() ) {
//poll是队列数据结构实现类的方法,从队首获取元素,同时获取的这个元素将从原队列删除;
//pop是栈结构的实现类的方法,表示返回栈顶的元素,同时该元素从栈中删除,当栈中没有元素时,调用该方法会发生异常
String msg
线程池实现消息队列
最新推荐文章于 2023-09-08 21:41:38 发布