`

并发控制实现工具类

阅读更多


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;
    }
}

分享到:
评论

相关推荐

    java并发工具类

    Java并发工具类是Java平台提供的一系列用于处理多线程并发问题的类和接口,它们在`java.util.concurrent`包中。并发问题主要包括资源竞争、死锁、活锁以及饥饿等,合理使用并发工具可以有效地提高程序的并发性能并...

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

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

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

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

    CsGo并发流程控制框架

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

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

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

    Java并发工具包

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

    测试并发小工具

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

    常用工具类常用工具类.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中的Semaphore是实现限流的一个有效工具,尤其适用于控制并发线程数量。但若你需要对数据的处理速率进行精确控制,可能需要结合其他工具或自定义算法来实现。在设计限流策略时,应充分考虑系统的性能...

    java并发工具包

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

    java常用工具类

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

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

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

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

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

    多线程断点续传工具类

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

    java常用工具类封装

    在Java编程中,工具类(Util Classes)是包含各种实用方法的静态类,它们提供了一种简化常见任务的方式。"java常用工具类封装"是指将常见的功能如线程管理、数据解析、第三方库集成等进行封装,以提高代码的可重用性...

Global site tag (gtag.js) - Google Analytics