java命名一个线程,并对线程的操作

java的定时任务内免不了用线程去处理一些业务,本文将讲解如何自己随意控制一个线程对业务的处理。

直接上代码:

List threadList = new ArrayList<>();

//获取线程正在运行的线程
ThreadGroup currentGroup1 = Thread.currentThread().getThreadGroup();

int noThreads1 = currentGroup1.activeCount();

Thread[] lstThreads1 = new Thread[noThreads1];

currentGroup1.enumerate(lstThreads1);

for (int j = 0; j < noThreads1; j++) {

    String nm = lstThreads1[j].getName();
    threadList.add(nm);
}

可以将threadList 打印出来,看看你服务的上所有运行的线程。

自己new 一个线程,如何命名呢?

Thread.currentThread().setName(name);

name你可以定义一个唯一的uuid自己在业务中去区分。

 

如何停止自己命名的这个线程呢:

ThreadGroup currentGroup = Thread.currentThread().getThreadGroup();

int noThreads = currentGroup.activeCount();

Thread[] lstThreads = new Thread[noThreads];

currentGroup.enumerate(lstThreads);

for (int j = 0; j < noThreads; j++) {

    String nm = lstThreads[j].getName();
    if (nm.equals(documentName)) {
        lstThreads[j].stop();
    }
}

//stop虽然过时,但可以起作用。找到指定线程并杀死,interrupted 和isinterrupted 只是作为标识 不能停止该线程

 

定时任务如何延时呢:

Thread.selep(1000)

毫秒,1000毫秒=1秒。

 

如果不理解可以私信博主,求关注

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值