public class ThreadTest01 extends Thread {
private boolean flag;
private @SuppressWarnings("unused") ThreadTest01() {
}
ThreadTest01(boolean flag) {
this.flag = flag;
}
void setFlag(boolean flag) {
this.flag = flag;
}
@Override
public void run() {
super.run();
int i = 1;
while (flag) {
System.out.println("In side ThreadTest01 class " + i);
i++;
try {
Thread.sleep(200);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
``
public class ThreadTest02 {
public static void main(String[] args) throws InterruptedException {
System.out.println("In class.");
System.out.println("Try to run the thread.");
ThreadTest01 t1 = new ThreadTest01(true);
t1.start();
System.out.println("Will run the thread for 5 seconds then try to stop it.");
Thread.sleep(5000);
t1.setFlag(false);
System.out.println("Let's see if the thread will be stopped.");
Thread.sleep(2000);
System.out.println("If so, try to start the thread again.");
t1.setFlag(true);
System.out.println("Will run the thread for 5 seconds then try to stop it.");
ThreadTest01 t2 = new ThreadTest01(true);
t2.start();
Thread.sleep(5000);
t2.setFlag(false);
}
}
Outputs:
In class.
Try to run the thread.
Will run the thread for 5 seconds then try to stop it.
In side ThreadTest01 class 1
In side ThreadTest01 class 2
In side ThreadTest01 class 3
In side ThreadTest01 class 4
In side ThreadTest01 class 5
In side ThreadTest01 class 6
In side ThreadTest01 class 7
In side ThreadTest01 class 8
In side ThreadTest01 class 9
In side ThreadTest01 class 10
In side ThreadTest01 class 11
In side ThreadTest01 class 12
In side ThreadTest01 class 13
In side ThreadTest01 class 14
In side ThreadTest01 class 15
In side ThreadTest01 class 16
In side ThreadTest01 class 17
In side ThreadTest01 class 18
In side ThreadTest01 class 19
In side ThreadTest01 class 20
In side ThreadTest01 class 21
In side ThreadTest01 class 22
In side ThreadTest01 class 23
In side ThreadTest01 class 24
In side ThreadTest01 class 25
Let's see if the thread will be stopped.
If so, try to start the thread again.
Will run the thread for 5 seconds then try to stop it.
In side ThreadTest01 class 1
In side ThreadTest01 class 2
In side ThreadTest01 class 3
In side ThreadTest01 class 4
In side ThreadTest01 class 5
In side ThreadTest01 class 6
In side ThreadTest01 class 7
In side ThreadTest01 class 8
In side ThreadTest01 class 9
In side ThreadTest01 class 10
In side ThreadTest01 class 11
In side ThreadTest01 class 12
In side ThreadTest01 class 13
In side ThreadTest01 class 14
In side ThreadTest01 class 15
In side ThreadTest01 class 16
In side ThreadTest01 class 17
In side ThreadTest01 class 18
In side ThreadTest01 class 19
In side ThreadTest01 class 20
In side ThreadTest01 class 21
In side ThreadTest01 class 22
In side ThreadTest01 class 23
In side ThreadTest01 class 24
In side ThreadTest01 class 25
网友评论