java – 关于停止线程

我开发了一个代码,它将在执行时启动两个线程

public class MyThread1 extends Thread //extend thread class 
{
    // public  synchronized void run()
     //synchronized (this)

     public   void run()
    {//synchronized(this)
        //{
         for(int i=0;i<20;++i) {
             try{
                 Thread.sleep(500);


          System.out.print(i +"\n"+ "..");
             }catch(Exception e)
             {e.printStackTrace();}
          //} 
        }

     }  

 public static void main(String... a) 
 {
     MyThread1 t = new MyThread1();

     Thread x = new Thread(t);

     Thread y = new Thread(t);
     x.start();
     y.start();

     }

现在它启动两个线程,但如果我想停止一个特定的线程,让我说我想停止线程Y然后我将如何做它请告知,因为停止一个线程意味着它的运行方法已经完成但我想阻止它我强烈要求我这样做,请指教

你应该打断()线程.当线程被中断时,阻塞调用(如sleep())将抛出InterruptedException.如果要在紧密循环中尽可能快地停止,请定期检查当前线程是否已使用isInterrupted()方法中断.

有关这方面的更多信息,请参见Java concurrency tutorial.

相关文章
相关标签/搜索