线程工具类ThreadUtils

package yqw.java.util;

public class ThreadUtils {

/**
     * showThreadInfo
     *
     * @return
     */
    public static final String showThreadInfo() {

return "^^^^^^^^^^^^^^^^^^^^^^^ currentThread: name=" + Thread.currentThread().getName() + "  , id="
                + Thread.currentThread().getId() +

"   ,state=" + Thread.currentThread().getState() + "   , Priority=" + Thread.currentThread().getPriority();
    }

/**
     * sleep not catch Exception
     *
     * @param ms
     * @return
     */
    public static boolean sleep(int ms) {
        try {
            Thread.sleep(ms);
            return true;
        } catch (InterruptedException e) {
            return false;
        }
    }
}

原文地址:https://www.cnblogs.com/yang75n/p/8412963.html

时间: 2024-10-02 23:34:03

线程工具类ThreadUtils的相关文章

线程工具类 - CountDownLatch

CountDownLatch官方使用手册:http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CountDownLatch.html 一.原理 CountDownLatch是一个非常实用的多线程控制工具类.Count Down在英文中意为倒计时,Latch意为门闩,可以简单的将CountDownLatch称为倒计时器.门闩的含义是:把门锁起来,不让里面的线程跑出来.因此,这个工具通常用来控制线程等待,它可以让一个线程等待知道

Java多线程及JDK5线程工具类总结

内容摘抄来自:传智播客 张孝祥 老师的<Java高新技术>视频,   并加入了个人总结和理解. 虽然我没有参加过任何培训班,但我很大一部分知识都来自于传智播客的网络分享视频. 十分真挚的感谢张老师的公开视频. 1.传统线程技术的回顾 1 import org.junit.Test; 2 /** 3 * 传统线程回顾 4 * 多线程不一定会提高运行效率,和CPU设计和架构有关. 5 * 多线程下载是抢了服务器的资源,并不是自身的机器加快. 6 * @author LiTaiQing 7 */ 8

线程工具类 - FutureTask

java中可以通过继承Thread或者实现Runnable接口来实现多线程,但是这种方式并不能让我们在线程执行完后获取执行结果.因此在java1.5开始引入了Callable和Future接口,通过它们可以在线程执行完后获取执行结果.Callable表示一个可返回结果的任务,Future表示一个异步计算的结果 一.Callable接口 public interface Callable<V> { /** * Computes a result, or throws an exception i

廖雪峰Java11多线程编程-4线程工具类-1ThreadLocal

class User{ String name; int level; public User(String name, int level){ this.name = name; this.level = level; } } class UserContext implements AutoCloseable{ static final ThreadLocal<User> context = new ThreadLocal<>(); public static User get

Java线程池工具类

使用线程池的好处: 重用线程,线程的创建和销毁是很耗时的. 控制线程的数量. 线程池工具类: ThreadPool.java package com.zws.thread.pool; import java.util.concurrent.Callable; import java.util.concurrent.Future; /**  *   * @author wensh.zhu  *  */ public interface ThreadPool { void execute(Runna

Java并发工具类(四):线程间交换数据的Exchanger

简介 Exchanger(交换者)是一个用于线程间协作的工具类.Exchanger用于进行线程间的数据交换.它提供一个同步点,在这个同步点两个线程可以交换彼此的数据.这两个线程通过exchange方法交换数据, 如果第一个线程先执行exchange方法,它会一直等待第二个线程也执行exchange,当两个线程都到达同步点时,这两个线程就可以交换数据,将本线程生产出来的数据传递给对方. Exchanger的应用场景 1.Exchanger可以用于遗传算法,遗传算法里需要选出两个人作为交配对象,这时

Java多线程——线程阻塞工具类LockSupport

简述 LockSupport 是一个非常方便实用的线程阻塞工具,它可以在线程内任意位置让线程阻塞. 和 Thread.suspend()相比,它弥补了由于 resume()在前发生,导致线程无法继续执行的情况. 和 Object.wait()相比,它不需要先获得某个对象的锁,也不会抛出 InterruptedException 异常. LockSupport 的静态方法 park()可以阻塞当前线程,类似的还有 parkNanos().parkUntil()等方法.它们实现了一个限时等待,如下图

利用线程创建发送手机验证码的工具类

1.生成验证码类 package com.util; import java.util.Timer; import java.util.TimerTask; /** * @description 手机发送验证码工具类 */ public class MessageCode extends TimerTask{ private Timer timer; /** * @description 短信验证码的内容 */ private String messageCode; /** * @descrip

线程:CyclicBarrier同步工具类

一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点.比如公司组织活动出去玩,需要在公司门口一起搭车去.每个人从家里出发去公司门口,到达的时间肯定先后不一样,所以公司的车要一直等待,等所有人到齐后,才开车出发.CyclicBarrier就类似这样的功能,当所有线程到达"屏蔽点"的时候,才往下走. 具体等待多少根线程到达,可以在构造方法里指定CyclicBarrier(int parties). 当你的parties设为3的时候,假设只有2根线程到达此处,那程序会一直在此等待.