怎么暂停和恢复一个线程呢

2025-02-28 03:34:51
推荐回答(2个)
回答1:

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import java.util.ArrayList;

import java.util.Properties;

import java.util.Scanner;

public class test implements Runnable

{

Thread t = new Thread(this);

public static void main(String[] args) {

test t1 = new test();

t1.t.start();

boolean flag = true;

Scanner sc = new Scanner(System.in);

while (true) {

//这里的2改成空格

if(sc.nextLine().equals("2")&&flag)

{

//暂停

t1.t.suspend();

flag = false;

}

if(sc.nextLine().equals("2")&&!flag)

{

//线程恢复

t1.t.resume();

flag = true;

}

}

}

@Override

public void run() {

while (true) {

try {

System.out.println("hello");

Thread.sleep(500);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

回答2:

线程间协作调度,wait,notify,notifyAll,配合内置锁使用