📜  如何在Java中临时停止线程?

📅  最后修改于: 2022-05-13 01:55:41.877000             🧑  作者: Mango

如何在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();
    }
}


输出

线程 2 被挂起

注意:线程t2可以通过resume()方法恢复。

t2.resume()