「java杀线程」如何杀线程

博主:adminadmin 2022-11-25 16:17:09 135

今天给各位分享java杀线程的知识,其中也会对如何杀线程进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java里面如何删除掉一个线程,就是new Thread之后怎么把这个new的Thread完完全全的杀掉

你定义一个新线程"myThread"时肯定要重写它的run()方法,当你启动这个线程时即new的时候要调用它是start()方法: new myThread().start();

之后该线程会自动调用它的run()方法,run()方法执行完后线程会自动关闭;

你也可以调用close()来关闭;

如果有任务的线程想暂停一段时间,再继续任务,就别用close()方法,可以用sleep(3000)方法;3秒后线程继续运行.

希望对你有用~~

java如何摧毁线程

Thread可以用destroy方法销毁,但它不保证资源被释放,所以只能用在无资源的情况下。

一般都建议自行控制代码逻辑让run()方法正常执行完,常用的方法包括可以被打断(在代码里检测interrupted())、检测状态标识退出循环等

java 怎么强制关闭 一个线程 ?

在Java的多线程编程中,java.lang.Thread类型包含了一些列的方法start(), stop(), stop(Throwable) and suspend(), destroy() and resume()。通过这些方法,我们可以对线程进行方便的操作,但是这些方法中,只有start()方法得到了保留。\x0d\x0a在Sun公司的一篇文章《Why are Thread.stop, Thread.suspend and Thread.resume Deprecated? 》中详细讲解了舍弃这些方法的原因。\x0d\x0a如果真的需要终止一个线程,可以使用以下几种方法: \x0d\x0a1、让线程的run()方法执行完,线程自然结束。(这种方法最好)\x0d\x0a\x0d\x0a2、通过轮询和共享标志位的方法来结束线程,例如while(flag){},flag的初始值设为真,当需要结束时,将flag的值设为false。(这种方法也不很好,因为如果while(flag){}方法阻塞了,则flag会失效)\x0d\x0a如果线程因为执行sleep()或是wait()而进入Not Runnable状态,假如是wait() 用标志位就方法就不行了,\x0d\x0apublic final void wait(long timeout)\x0d\x0a throws InterruptedException此方法导致当前线程(称之为 T)将其自身放置在对象的等待集中,然后放弃此对象上的所有同步要求。即当前线程变为等待状态\x0d\x0await() 的标准使用方法\x0d\x0asynchronized(obj){\x0d\x0awhile(){\x0d\x0aobj.wait();\x0d\x0a}\x0d\x0a满足条件的处理过程\x0d\x0a}\x0d\x0a而您想要停止它,您可以使用第三种即\x0d\x0a3 使用interrupt(),而程式会丢出InterruptedException例外,因而使得执行绪离开run()方法

java怎样杀死线程

一般去让java线程终止不会去调用什么方法,是通过在run方法里,某种条件下跳出循环来实现的。

public void run()

{

    while(true)

    {

        //满足一定条件

        if(xxxx)

        {

            break;

        }

    }

}

java怎么杀掉java进程

java中有调用外部程序的类,Runtime.getRuntime().exec("./**.exe");此函数返回的是一个Process 对象,该对象在创建后,可以对它进行 destroy () 杀掉子进程、 waitFor () 导致当前线程等待,如有必要,一直要等到由该 Process 对象表示的进程已经终止。 如下例子可以杀掉已经打开的文本进程:

import java.io.BufferedReader;

import java.io.InputStreamReader;

public class Test

{        

public static void main(String[] args)

    {        

try

                {

                        String[] cmd =

                        { "notepad.exe"};

                        Process proc = Runtime.getRuntime().exec(cmd);//开启文本

                        BufferedReader in = new BufferedReader(new InputStreamReader(proc

                                .getInputStream()));                        

                        String string_Temp = in.readLine();

                        while (string_Temp != null)

                        {

                                System.out.println(string_Temp);

                                if(string_Temp.indexOf("notepad.exe")!=-1)

                                 Runtime.getRuntime().exec("Taskkill /IM notepad.exe");

                                string_Temp = in.readLine();

                        }

                }

                catch (Exception e)

                {

                   //结束进程

                }

    }

结果如下:

如何在JAVA中让一个线程死亡或结束?

当线程执行完毕或被其它线程杀死,线程就进入死亡状态,这时线程不可能再进入就绪状态等待执行。

线程进入死亡状态的方法有两种:

1、自然终止:正常运行run()方法后终止;

2、异常终止:调用stop()方法让一个线程终止运行。

如下代码:

public class ThreadDemo implements Runnable{

public void run() {

}

}

当run方法执行结束,即线程死亡(结束)。

关于java杀线程和如何杀线程的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-25,除非注明,否则均为首码项目网原创文章,转载请注明出处。