我正在尝试创建一种解决方案,以处理由于内存泄漏,应用程序中的资源锁定而导致的挂起线程。我遇到的主要问题之一是试图模拟一个挂起的线程来处理它。有任何建议吗?

这是我尝试过的方法,但似乎并没有完成任务。有什么想法吗?

class KillerThread extends Thread{

    public KillerThread() {
        super();
    }
    public KillerThread(String threadName) {
        super(threadName);
    }
    public void run (){
        System.out.println("Start of KillerThread " + this.getName() );
        if ( System.currentTimeMillis() % 2L == 0 ){
            try {
                sleep(Long.MAX_VALUE);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        } else {
            for(;;);
        }
    }
}

最佳答案

尝试在while循环中运行睡眠,例如:

while(true) {
    try {
        Thread.sleep(1000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}

07-27 14:05