java线程停止的几种方法,java让线程停止执行的方法

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: