如何在Java中临时停止线程?
线程类的suspend()方法使线程从运行状态进入等待状态。如果您想阻止线程执行并在特定事件发生时重新开始它,则使用此方法。此方法允许线程暂时停止执行。挂起的线程通常使用 resume() 方法恢复。如果当前线程无法修改目标线程,则会抛出安全异常。
注意: suspend() 方法在最新的Java版本中已被弃用。
句法
public final void suspend()
返回:不返回任何值。
异常:如果当前线程无法修改线程,则抛出SecurityException 。
例子:
Java
// Java program to demonstrate suspend() method
// of Thread class
import java.io.*;
class GFG extends Thread {
public void run()
{
for (int i = 1; i < 5; i++) {
try {
// thread to sleep for 500 milliseconds
sleep(5);
System.out.println(
"Currently running - "
+ Thread.currentThread().getName());
}
catch (InterruptedException e) {
System.out.println(e);
}
System.out.println(i);
}
}
public static void main(String args[])
{
// creating three threads
GFG t1 = new GFG();
GFG t2 = new GFG();
GFG t3 = new GFG();
// call run() method
t1.start();
t2.start();
// suspend t2 thread
t2.suspend();
// call run() method
t3.start();
}
}
输出
注意:线程t2可以通过resume()方法恢复。
t2.resume()