基于ScheduledExecutorService的并发定时任务处理能力测试
测试代码
定时器类
package business.util;
 import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.ScheduledFuture;
 import java.util.concurrent.TimeUnit;
 import transfer.IUserParser;
 public class MyTimer {
  private static ScheduledExecutorService ses = Executors
    .newSingleThreadScheduledExecutor();
// .newScheduledThreadPool(10);
  private MyTimer() {
  }
  /
   * 设置某一parser正在执行脚本的超时时间
   *
   * @param parser
   *   进行超时控制的解析器
   * @param timeout
   *   超时时间,单位:秒
   * @return
   */
  public static ScheduledFuture<?> set(IUserParser parser, int timeout) {
   CloseRutine routine = new CloseRutine(parser);
   ScheduledFuture<?> job = ses.schedule(routine, timeout,
     TimeUnit.SECONDS);
   return job;
  }
  /
   * 清除计时器
   *
   * @param unit
   * @return
   /
  public static boolean cancel(ScheduledFuture<?> job) {
   return job.cancel(true);
  }
  /
   * 关闭此计时器(进程)
   /
  public static void shutdown() {
   ses.shutdown();
  }
 }
 class CloseRutine implements Runnable {
  private final IUserParser parser;
  CloseRutine(IUserParser parser) {
   this.parser = parser;
  }
  @Override
  public void run() {
   parser.closePeer();
  }
 }
基于ScheduledExecutorService的并发定时任务处理能力测试的更多相关文章
- SpringBoot中并发定时任务的实现、动态定时任务的实现(看这一篇就够了)
		原创不易,如需转载,请注明出处https://www.cnblogs.com/baixianlong/p/10659045.html,否则将追究法律责任!!! 一.在JAVA开发领域,目前可以通过以下 ... 
- 再谈AbstractQueuedSynchronizer:基于AbstractQueuedSynchronizer的并发类实现
		公平模式ReentrantLock实现原理 前面的文章研究了AbstractQueuedSynchronizer的独占锁和共享锁,有了前两篇文章的基础,就可以乘胜追击,看一下基于AbstractQue ... 
- 再谈AbstractQueuedSynchronizer3:基于AbstractQueuedSynchronizer的并发类实现
		公平模式ReentrantLock实现原理 前面的文章研究了AbstractQueuedSynchronizer的独占锁和共享锁,有了前两篇文章的基础,就可以乘胜追击,看一下基于AbstractQue ... 
- Java 并发编程-再谈 AbstractQueuedSynchronizer 3 :基于 AbstractQueuedSynchronizer 的并发类实现
		公平模式ReentrantLock实现原理 前面的文章研究了AbstractQueuedSynchronizer的独占锁和共享锁,有了前两篇文章的基础,就可以乘胜追击,看一下基于AbstractQue ... 
- Apache ab并发负载压力测试(python+django+mysql+apache)
		如标题,大家都知道秒杀中存在高并发使库存骤然为0,但在我们个人PC或小区域内是模拟不出这样的情景 现在利用 Apache ab并发负载压力测试 1,数据库建入库存字段并映射模型 2,view编写脚本 ... 
- Monad、Actor与并发编程--基于线程与基于事件的并发编程之争
		将线程.事件.状态等包装成流的源. 核心:解决线程的消耗和锁的效率问题. Java和Node.js可以说分别是基于线程和基于事件的两个并发编程代表,它们互相指责瞧不起对方,让我们看看各种阵营的声音: ... 
- 基于socketserver实现并发
		基于tcp的套接字,关键就是两个循环,一个链接循环,一个通信循环 socketserver模块中分两大类:server类(解决链接问题)和request类(解决通信问题) 一.分析socketserv ... 
- 模拟ssh远程执行命令,粘包问题,基于socketserver实现并发的socket
		06.27自我总结 1.模拟ssh远程执行命令 利用套接字编来进行远程执行命令 服务端 from socket import * import subprocess server = socket(A ... 
- 基于USB3.0的双目相机测试小结之CC1605配合CS5642  双目 500w摄像头
		基于USB3.0的双目相机测试小结之CC1605配合CS5642 双目 500w摄像头 CC1605双目相机评估板可以配合使用柴草电子绝大多数摄像头应用 如:OV5640.OV5642.MT9P03 ... 
随机推荐
- 互联网时代CRM软件帮助企业销售升级
			随着信息技术的发展,互联网+的浪潮逐渐改变了我们的生活.对于企业来说,他们的管理模式和服务模式也需要作出改变,企业不再满足只进行内部业务的优化和管理,传统CRM开始不再符合企业的需求.由此可见,在网络 ... 
- doc系统maven打包脚本
			chcp 65001@echo off title 打包神器,龙爷造. echo ============================= echo 姓名:Long echo 日期:2020-08- ... 
- linux中的vim用法
			p.p1 { margin: 0; font: 16px ".PingFang SC"; color: rgba(53, 53, 53, 1) } p.p2 { margin: 0 ... 
- Acunetix敏感的数据泄露–泄露如何发生
			术语"敏感数据暴露"是指允许未授权方访问存储或传输的敏感信息,例如信用卡号或密码.全球范围内大多数重大安全漏洞都会导致某种敏感的数据泄露. Acunetix利用攻击漏洞(例如Web ... 
- 使用Hugo框架搭建博客的过程 - 部署
			前言 完成前期的准备工作后,在部署阶段需要配置服务器或对象存储服务. 对象存储和服务器对比 对象存储平台 国内有阿里云OSS.腾讯COS.又拍云.七牛云等.国外有Github Pages.Netlif ... 
- CA和SSL证书介绍
			一.什么是CA? CA是证书的签发机构,它是公钥基础设施(Public Key Infrastructure,PKI)的核心.CA是负责签发证书.认证证书.管理已颁发证书的机关.CA 拥有一个证书(内 ... 
- 深入理解Java多线程——ThreadLocal
			目录 定义 API 场景分析 场景实验,观察Spring框架在多线程场景的执行情况 10000此请求,单线程 10000次请求,线程数加到100 对c的访问加锁 把c设为ThreadLocal 收集多 ... 
- Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
			selenium操作chrome浏览器需要有ChromeDriver驱动来协助.webdriver中关浏览器关闭有两个方法,一个叫quit,一个叫close. 1 /** 2 * Close the ... 
- Django基础013--redis开发
			1.redis配置 在settings.py中加入以下代码块,可支持多个redis的配置 1 CACHES = { 2 "default": { 3 "BACKEND&q ... 
- 实验 2 Scala 编程初级实践
			实验 2 Scala 编程初级实践 一.实验目的 1.掌握 Scala 语言的基本语法.数据结构和控制结构: 2.掌握面向对象编程的基础知识,能够编写自定义类和特质: 3.掌握函数式编程的基础知识,能 ... 
