Java Thread suspend()方法

2019-10-16 22:24:29

Thread類的suspend()方法使執行緒無法執行到等待狀態。如果要停止執行緒執行並在發生特定事件時再次啟動,則使用此方法。 此方法允許執行緒暫時停止執行。 可以使用resume()方法恢復掛起的執行緒。

語法

public final void suspend()

異常

  • SecurityException:如果當前執行緒無法修改執行緒。

範例

public class JavaSuspendExp extends Thread  
{    
    public void run()  
    {    
        for(int i=1; i<5; i++)  
        {    
            try  
            {  
                // thread to sleep for 500 milliseconds  
                 sleep(500);  
                 System.out.println(Thread.currentThread().getName());    
            }catch(InterruptedException e){System.out.println(e);}    
            System.out.println(i);    
        }    
    }    
    public static void main(String args[])  
    {    
        // creating three threads   
        JavaSuspendExp t1=new JavaSuspendExp ();    
        JavaSuspendExp t2=new JavaSuspendExp ();   
        JavaSuspendExp t3=new JavaSuspendExp ();   
        // call run() method   
        t1.start();  
        t2.start();  
        // suspend t2 thread   
        t2.suspend();   
        // call run() method   
        t3.start();  
    }    
}

執行上面範例程式碼,得到以下結果:

Thread-0
1
Thread-2
1
Thread-0
2
Thread-2
2
Thread-0
3
Thread-2
3
Thread-0
4
Thread-2
4