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