2026/1/16 19:31:16
网站建设
项目流程
国内空间没备案可以打开网站吗,响应式网站文案,哪个网站可以付费做淘宝推广,知乎类 wordpressJava中一般使用两种方法来使线程终止的方法#xff0c;一是标志位的方法#xff0c;二是中断使用标志位代码实现如下。// 线程停止的方式#xff1a;1加标志位#xff1b;2 中断
class Stop implements Runnable {private boolean flag true;Overridepublic void run() {w…Java中一般使用两种方法来使线程终止的方法一是标志位的方法二是中断使用标志位代码实现如下。// 线程停止的方式1加标志位2 中断 class Stop implements Runnable { private boolean flag true; Override public void run() { while (flag) { for (int i 0; i 10; i) { System.out.println(Thread.currentThread().getName() i); } } } public void setFlag(boolean flag) { this.flag flag; } } public class ThreadStop { public static void main(String[] args) { Stop stop new Stop(); Thread bobi new Thread(stop, Bobi); bobi.start(); for (int i 0; i 10; i) { System.out.println( i i); // 通过标志位让线程停下来 if (i 9) { stop.setFlag(false); } System.out.println(Thread.currentThread().getName() i); } System.out.println(Thread.currentThread().getName() over); } }使用中断实现线程停止的代码实现如下。// 线程停止的方式1加标志位2 中断 class Stop implements Runnable { private boolean flag true; Override public void run() { while (flag) { // 若此时不在main方法中对中断方法做处理的话线程是停不下来的虽然main线程停了。 synchronized (this) { try { wait(); } catch (InterruptedException e) { //e.printStackTrace(); // 强制获取cpu之后会进入这里改变flag的值 flag false; } } for (int i 0; i 10; i) { System.out.println(Thread.currentThread().getName() i); } } } public void setFlag(boolean flag) { this.flag flag; } } public class ThreadStop { public static void main(String[] args) { Stop stop new Stop(); Thread bobi new Thread(stop, Bobi); bobi.start(); for (int i 0; i 10; i) { // 通过标志位让线程停下来 if (i 9) { // 强制让bobi这个线程获取cpu执行完没有完成的操作而不是一直处于等待状态。 bobi.interrupt(); } System.out.println(Thread.currentThread().getName() i); } System.out.println(Thread.currentThread().getName() over); } }