色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

關(guān)閉和開啟線程java

Java中的線程是一個(gè)很強(qiáng)大的工具,可以讓程序同時(shí)執(zhí)行多個(gè)任務(wù)。在進(jìn)行多線程編程的過(guò)程中,需要掌握如何關(guān)閉和開啟線程。

關(guān)閉線程可以使用線程的interrupt()方法。該方法會(huì)向線程發(fā)送中斷信號(hào),線程會(huì)在下一個(gè)阻塞IO、sleep、wait等位置檢查是否被中斷,如果被中斷則會(huì)跳出阻塞狀態(tài)。

public class MyRunnable implements Runnable {
private volatile boolean flag = true;
public void stop(){
flag = false;
}
@Override
public void run() {
while (flag) {
try {
Thread.sleep(1000);
System.out.println("thread is running");
} catch (InterruptedException e) {
System.out.println("thread is interrupted");
flag = false;
}
}
}
}
public class Main {
public static void main(String[] args) throws InterruptedException {
MyRunnable myRunnable = new MyRunnable();
Thread thread = new Thread(myRunnable);
thread.start();
Thread.sleep(5000);
myRunnable.stop();
}
}

在上述代碼中,MyRunnable實(shí)現(xiàn)了Runnable接口,通過(guò)判斷flag的值來(lái)決定線程是否運(yùn)行。在Main方法中,首先啟動(dòng)了一個(gè)線程,然后等待5秒鐘之后,調(diào)用了MyRunnable的stop()方法,將flag值修改為false,從而停止了線程。

開啟線程可以通過(guò)創(chuàng)建線程對(duì)象并調(diào)用start()方法來(lái)實(shí)現(xiàn)。Java有兩種方式創(chuàng)建線程:

  1. 通過(guò)實(shí)現(xiàn)Runnable接口;
  2. 通過(guò)繼承Thread類。
public class MyThread extends Thread {
@Override
public void run() {
System.out.println("thread is running");
}
}
public class Main {
public static void main(String[] args) {
MyThread myThread = new MyThread();
myThread.start();
}
}

上述代碼實(shí)現(xiàn)了通過(guò)繼承Thread類來(lái)創(chuàng)建線程。創(chuàng)建線程對(duì)象myThread,然后調(diào)用start()方法啟動(dòng)線程。線程會(huì)執(zhí)行run()方法中的代碼。在這個(gè)例子中就是簡(jiǎn)單的打印一句話。