`

并发控制实现工具类

阅读更多


import java.util.Random;
import java.util.concurrent.locks.ReentrantLock;

public class YshdTools {

    public static final String  yszfsuccess="5";//预售活动支持成功短信
    public static final String  ystijdd="4";//预售活动提交订单
    /**
     * 单利模式的锁
     */
    private static ReentrantLock LOCK;
    /**
     * 队列最大排队数量
     */
    public static final Integer QUEUE_MAX = 50;

    /**
     * 返回当前系统的锁
     * @return
     */
    private static ReentrantLock getInstance() {
        if (LOCK == null) {
            LOCK = new ReentrantLock();
        }
        return LOCK;
    }
    /**
     * 锁定
     * 如果锁被其他线程调用,则处于阻塞状态
     * 当锁被释放时,才继续执行
     */
    public static void lock() {
        getInstance().lock();
    }
    /**
     * 解锁
     * 当需要锁定的程序执行完之后,此方法必须调用
     * 因为此方法的实现为代码级别,所以在虚拟机抛出异常时,不会自动解锁
     * 最好放在 finally 里面
     */
    public static void unlock() {
        getInstance().unlock();
    }
    /**
     * 过去队列个数
     * 即阻塞中的线程个数
     * @return
     */
    public static int getQueueLength() {
        return getInstance().getQueueLength();
    }
    /**
     * 查看锁是否为锁定状态
     * @return
     */
    public static boolean isLock() {
        return getInstance().isLocked();
    }

    /**
     *
    * 创建人:Administrator  
    * 创建时间:Jul 11, 2014 
    * @return String    返回类型
    * @Description: 生成6为随机数数字
     */
    public static String getRandom(){
        Random random = new Random();
        String result="";
        for(int i=0;i<6;i++){
            result+=random.nextInt(10);
        }
        return result;
    }
}

分享到:
评论

相关推荐

    C++学习笔记和实践项目,实践项目包括Json工具类、设计模式的C++实现、消息队列、智能指针,linux下的并发控制工具等

    C++学习笔记和实践项目,实践项目包括Json工具类、设计模式的C++实现、消息队列、智能指针,linux下的并发控制工具、线程池,epoll管理器和Mysql连接池、STL容器的快捷输出工具和页面置换算法(FIFO, LRU, LFU)的...

    并发编程——并发工具类.pdf

    并发工具类则是Java中用于支持多线程协作和同步控制的一系列工具,它们可以简化并发控制逻辑,提高开发效率,并且减少因并发编程带来的错误。 #### 标题与描述解析 标题“并发编程——并发工具类.pdf”预示了文档...

    CountDownLatch、Semaphore等4大并发工具类详解

    Semaphore 是一个限流工具类,用于控制访问某个资源的线程数量。它可以限制某个资源的并发访问数量,防止资源被过度访问。Semaphore 提供了 acquire() 和 release() 两个方法,acquire() 方法用于获取资源,release...

    java工具类java工具类java工具类

    这个工具类可能会实现线程控制、断点续传、错误处理等功能,以确保下载过程的稳定性和效率。 获取绝对路径的工具类则是一个实用的辅助功能,它能够根据相对路径或者当前工作目录计算出一个文件或目录的完整路径。这...

    Java并发工具包

    包括 TimeUnit、ThreadLocalRandom 和 Phaser 等,这些工具类提供了在并发编程中常用的实用功能,如时间单位转换、随机数生成和同步阶段控制。 总结来说,Java并发工具包提供了丰富的工具和机制,帮助开发者构建...

    测试并发小工具

    1. **线程(Thread)**:C#中的`System.Threading.Thread`类是实现并发的基本单元,它代表了一个单独的控制流。通过创建和启动线程,我们可以让多个任务并行运行。在描述中提到的测试工具可能使用了自定义线程来模拟...

    CsGo并发流程控制框架

    在C#中,主要借助.NET Framework提供的线程类库实现并发控制,如Thread、Task和Mutex等。 二、多线程技术 多线程是并发控制的基础,它允许一个应用程序同时执行多个独立的代码段。在CsGo框架中,可以使用`System....

    常用工具类常用工具类.zip

    3. **Java.util.concurrent**: 针对多线程编程,此包提供了丰富的并发工具类,如`ExecutorService`、`Future`、`Semaphore`、`CountDownLatch`等。这些工具帮助开发者有效地管理和控制并发任务,提高程序性能。 4. ...

    java并发工具类(CountDownLatch+Semaphore+Exchanger)

    在实际应用中,这三个工具类可以灵活组合使用,以满足复杂的并发控制需求。例如,CountDownLatch可以用于确保所有参与者准备好后再开始一个活动,Semaphore可以限制并发访问特定资源的线程数量,而Exchanger则可以在...

    java短信服务工具类

    Java短信服务工具类是开发过程中常见的一种实用组件,主要用于实现应用程序与短信服务提供商之间的交互。在Java编程中,这样的工具类通常包含了一系列方法,用于发送、接收和处理短信。下面我们将详细探讨Java短信...

    线程管理工具类

    在Java中,线程管理工具类可以帮助我们更方便地处理这些任务,避免复杂的并发问题。"线程管理工具类"如题目所示,是一种设计用于简化线程操作的类,它可能包含了实现特定策略来优化线程使用的方法。 标题中的“线程...

    并发工具类及线程池1

    【并发工具类及线程池】是Java多线程编程中的重要组成部分,它们提供了一种高效、可控的方式来管理和协调并发任务。本节主要讨论的是CyclicBarrier,一个用于同步线程的工具类。 **CyclicBarrier简介** ...

    深入浅出_Java并发工具包原理讲解

    6. 并发控制和总结:J.U.C中还包括了Exchanger用于线程间交换数据,以及并发控制中的常见问题如死锁、性能与伸缩性等。开发者需要理解并避免这些问题,以保证程序的正确性和效率。 通过J.U.C,Java开发者可以更加...

    java并发工具包

    下面将详细探讨Java并发工具包中的主要类和接口,以及它们在并发编程中的作用。 1. **Executor框架**:Java并发工具包的核心是Executor框架,它基于`java.util.concurrent.Executor`接口。Executor接口定义了一个...

    java常用工具类

    在Java编程中,工具类(Util Classes)是包含各种实用方法的类,它们不持有状态,主要用于提供方便的静态方法。这些工具类极大地提升了代码的可读性和复用性。以下将详细介绍标题和描述中提到的一些关键工具类及其...

    笔记-2、线程的并发工具类2

    了解并熟练使用这些并发工具类,能够帮助开发者更好地设计和实现高效的多线程程序,减少线程间的冲突,提升整体系统的性能。在实际编程中,根据具体情况选择合适的工具类,是优化并发程序的关键。

    6、JUC并发工具类在大厂的应用场景详解(1).pdf

    通过上述分析可以看出,JUC并发工具类不仅提供了丰富的并发控制手段,还极大地简化了多线程编程的复杂度。在实际开发中合理选择和使用这些工具类,可以有效提高系统的并发处理能力和稳定性,从而更好地满足业务需求...

    JDBC非常实用的工具类

    8. 连接池集成:为了提高性能和并发能力,工具类可能整合了像C3P0、HikariCP或Druid这样的连接池,实现连接的复用。 9. SQL执行性能优化:例如,提供执行时间的统计,帮助开发者分析和优化SQL语句。 对于初学者来...

    多线程断点续传工具类

    "多线程断点续传工具类"通常指的是一个Java类,该类设计用于实现文件传输时的多线程功能,并且能够从上次中断的地方继续下载或上传,这在大文件传输中非常有用,因为它可以提高速度并避免因网络问题导致的传输失败。...

Global site tag (gtag.js) - Google Analytics