最近用到使用多线程处理给用户发送站内消息的问题,想到使用java自带的线程池进行处理这个问题,具体如下:

定义一个线程:

package com.qlwb.util;

import org.apache.log4j.Logger;

import redis.clients.jedis.ShardedJedis;

import com.qlwb.common.redispool.BusinessRedisParam;
import com.qlwb.common.redispool.BusinessRedisPool;
/**
*
*
* @类编号:
* @类名称:DealUserTools
* @内容摘要: 消息处理
* @author:鹿伟伟
* @创建日期:2016年6月18日 下午1:23:03
* @修改人:
* @修改日期:
* @修改描述:简单描述修改的内容
* @version 1.0.0
*
*/
public class DealUserTools extends Thread{
private final Logger logger = Logger.getLogger(DealUserTools.class);
private int minId=0;
private int maxId=0;
public DealUserTools(int minId,int maxId){
this.maxId=maxId;
this.minId=minId;
}
public void run(){
ShardedJedis jedis=null;
logger.info("站内消息处理开始");
long t11=System.currentTimeMillis(); try {
//jedis=BusinessRedisPool.getInstance().getJedis();
for(int i=minId;i<=maxId;i++){
logger.info(Thread.currentThread().getName()+"=="+i);
//TODO
//业务处理
}
}
} catch (Exception e) {
logger.error("站内消息状态设置异常:", e);
}finally{
BusinessRedisPool.getInstance().returnResource(jedis);
}
long t12=System.currentTimeMillis();
System.out.println("站内消息处理用时"+(t12-t11)+"ms");
}
public static void main(String[] args) { }
}

使用线程池

ExecutorService pool = Executors.newFixedThreadPool(count);
Map<String,Object> mapParam=new HashMap<String, Object>();
try { for(int i=0;i<=count;i++){
Thread t1= new DealUserTools(minId,maxId);
pool.execute(t1);
}
pool.shutdown();
} catch (Exception e) {
logger.error("站内消息getUserId:", e);
}

java多线程处理任务的更多相关文章

  1. Java多线程处理List数据

    实例1: 解决问题:如何让n个线程顺序遍历含有n个元素的List集合 import java.util.ArrayList; import java.util.List; import org.apa ...

  2. java多线程处理

    package com.copyFile; import java.io.BufferedReader;import java.io.File;import java.io.FileReader;im ...

  3. Java 多线程处理[全]

    http://blog.csdn.net/ghsau/article/details/7421217 Java线程(一):线程安全与不安全 http://blog.csdn.net/ghsau/art ...

  4. Java多线程处理某个线程超时的问题

    ExecutorService exec = Executors.newFixedThreadPool(4); List<Future<Integer>> futures = ...

  5. java多线程处理导入数据拆分List集合 同步处理插入数据

    原文:https://www.2cto.com/kf/201612/581174.html import org.apache.log4j.Logger; import org.apache.poi. ...

  6. java 多线程处理一个list的集合

    原文:http://blog.csdn.net/jenny8080/article/details/52100312 import java.util.ArrayList; import java.u ...

  7. Java多线程处理任务(摘抄)

    很多时候,我们需要对一个庞大的队列或者二维数组进行处理.这些处理可能是循环的,比如给一个excel多个sheet的联系人列表发邮件.很幼稚的方法就是用一个或者两个FOR循环搞定,对于庞大的数据有得让你 ...

  8. java多线程处理问题

    今天碰到个以前的线上bug需要处理下:问题是这样的,我们的app里面有个点赞的功能,点赞完后显示点赞人列表以及点赞数量,但是数量现在总是不准确.之后查看代码,发现点赞时候只是简单的向数据库添加了一条点 ...

  9. Java以基础类库

    Java以基础类库JFC(Java Foundation Class)的形式为程序员提供编程接口API,类库中的类按照用途归属于不同的包中. (一)java.lang包 Java最常用的包都属于该包, ...

随机推荐

  1. LAMP 1.6 Discuz安装

    1.下载                                                                                                 ...

  2. 【问题】Expandable数据集的定义的正确方法,TabActivity弃用替代,Gallery替代,imageswitcher

    Expandable 问题: http://www.cnblogs.com/xingyyy/p/3389611.html 扩展阅读:http://blog.csdn.net/lmj623565791/ ...

  3. Ubuntu 使用 heirloom-mail 调用外部邮箱 SMTP 服务器发送邮件

    使用本地服务发邮件,经常被过滤掉而且占用资源,发送成功率不高.所以使用外部SMTP服务器发送邮件成为了需求. SMTP认证的目的是为了使用户避免受到垃圾邮件的侵扰,简单地说就是要求必须在提供了账户名和 ...

  4. R 数据类型

    c()功能函数,产数据用 向量:一维数组,要求存放的数据类型一致 矩阵:二维数组,要求存放的数据类型一致,用通过matrix函数创建 数组:维度超过二维时建议用数组,用可araay函数创建 数据框:相 ...

  5. 6.1 安装Ubuntu

    声明:sunny从来没有接触过linux.今天是第一次接触linux,日后每天都会接触linux了.坚持,每日练习,相信毕业后的我,一定会从小白成为linux大神. 安装Ubuntu之前,请先参考该博 ...

  6. App集成极光推送步骤

    一.准备: 1.1注册极光开发者账号 1.2添加应用,获取AppKey 1.3下载提供的demo,demo中的AppKey已自动生成为你自己的AppKey 二.集成: 2.1第一种方式:自动集成 Mo ...

  7. C#文件监控工具(对追加内容的监控并输出)

    C#文件监控(对追加内容的监控并输出),适合监控某个目录下的日志文件(log),开发初衷是linux上部署在jexus部署网站后想实时输出jexus的log和自己站点的log文件(已经测试通过在mon ...

  8. [CentOS7] 通过vncviewer屏幕扩展

    方法一:通过vncserver来调整分辨率 这是博主最近才发现的,原来还可以直接通过在服务端通过设置vncserver来调整分辨率,方法如下: 接下来,我们要进行vncviewer屏幕扩展的设置: 点 ...

  9. 三种Hash算法对比以及秒传原理.

    三种Hash算法对比以及秒传原理 CRC (32/64)   MD5  Sha1 分5个点来说 1.校验值长度 2.校验值类别 3.安全级别 4.应用场景 1).校验值长度 CRC(32/64) 分别 ...

  10. 洛谷P2828 Switching on the Lights(开关灯)

    P2828 Switching on the Lights(开关灯) 题目背景 来源:usaco-2015-dec Farm John 最近新建了一批巨大的牛棚.这些牛棚构成了一个N*N的矩形网络.( ...