java线程停止的几种方法,java让线程停止执行的方法
如何停止java线程一直是开发多线程程序的常见问题。很多人也问过我,所以今天我想在这里总结一下,让更多人知道如何在java中安全地结束一个正在运行的线程。
如何解决写爬虫IP受阻的问题?立即使用。
在Java的多线程编程中,java.lang.Thread类型包含一些列方法start()、stop()、stop (throwable)和suspend()、destroy()和resume()。通过这些方法,我们可以方便地操作线程,但是在这些方法中,只保留了start()方法。
放弃这些方法的原因在JDK帮助文档和Sun公司的文章《Why are Thread.stop, Thread.suspend and Thread.resume Deprecated?》中有所解释。
那么,我们究竟应该如何停止线程呢?
用共享变量的方式
这样,共享变量被引入,因为它可以被执行相同任务的多个线程用作是否中断的信号,通知被中断的线程它的执行。
公共类ThreadFlag扩展线程
{
public volatile boolean exit=false;
公共无效运行()
{
而(!退出);
}
公共静态void main(String[] args)引发异常
{
ThreadFlag thread=new ThreadFlag();
thread . start();
睡眠(3000);//主线程延迟3秒。
thread.exit=true//终止线程线程
thread . join();
线程退出!);
}
}在上面的代码中定义了一个退出标志exit。当exit为true时,while循环出去,EXIT的默认值为false。在定义出口时,使用了Java关键字volatile。这个关键字的目的是同步出口,即同一时间只有一个线程可以修改出口的值。这就是java如何停止线程的细节。请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。