首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >按线程名终止java线程

按线程名终止java线程
EN

Stack Overflow用户
提问于 2019-12-13 01:33:27
回答 2查看 76关注 0票数 0

我有一个每15秒运行一次的脚本,它每次都会创建一个新线程。有时这个线程会卡住,阻塞我的程序的同步进程。现在,如果线程被阻塞了20个循环,我想用一个特定的名称杀死这个进程。下面是我的代码:

代码语言:javascript
复制
public void actionPerformed(ActionEvent e) {


        Date dNow = new Date( );
        SimpleDateFormat ft = new SimpleDateFormat ("dd-MM-yyyy HH:mm:ss");
        System.out.println(ft.format(dNow));

        ThreadGroup currentGroup = Thread.currentThread().getThreadGroup();
        int noThreads = currentGroup.activeCount();
        Thread[] lstThreads = new Thread[noThreads];
        currentGroup.enumerate(lstThreads);
        boolean loopthreadfound = false;
        for (int i = 0; i < noThreads; i++){
        try{    
        if (lstThreads[i].getName() == "loopthread"){loopthreadfound = true;}           
        }catch(Exception e1){System.out.println(e1);}
        }

        if (loopthreadfound == false){
            loopthreadcounter = 0;
            //Starten in nieuwe thread
            Thread loopthread = new Thread() {

            public void run() {

                try {
                    checkonoffline();
                    checkDBupdates();
                    } catch (JSONException | SQLException | IOException e1) {
                    System.out.println(e1);
                    }
            }

            };

            loopthread.setName("loopthread");
            loopthread.start();

        }else{

            loopthreadcounter++;
            System.out.println("Loopthread already running...   counter: " + loopthreadcounter);        

            if (loopthreadcounter > 20){

             // HERE I WANT TO KILL THE THREAD "loopthread "

            }
        }

}
EN

Stack Overflow用户

发布于 2019-12-13 02:05:30

通常,线程名称不是唯一的。如果您正在将一个String与一个Thread相关联,并且该字符串标识了您要停止的线程,请自己跟踪它,而不是将其视为线程名称。

也就是说,创建一个Map<String, Thread>。稍后,您可以通过"name“从map中获取正确的线程并终止它。

请注意,stop()已弃用。您应该找到正确的方法来终止、中断或终止被阻塞的操作。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59309998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档