Thread.currentThread()
獲得正在執(zhí)行的線程對(duì)象
Thread.sleep(毫秒)
讓正在執(zhí)行的線程,在此處暫停指定的毫秒時(shí)間 1000=1s
getName()
Thread t = Thread.currentThread();
String n = t.getName();

特殊寫(xiě)法
run()方法不能加異常拋出管道,父類(lèi)沒(méi)有
一秒打印一次時(shí)間例子
import java.text.SimpleDateFormat;
import java.util.Date;
public class XianChengSleep {
public static void main(String[] args) {
//新建匿名類(lèi)繼承Thread,調(diào)用父類(lèi)構(gòu)造方法
Thread t=new Thread(){
@Override
public void run() {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
for(int i=1;i<=5;i++)
{
String s = sdf.format(new Date());
System.out.println(s);
try {
//這個(gè)值不一定精確,因?yàn)橐却龝r(shí)間片
Thread.sleep(1000);
} catch (InterruptedException e) {
//InterruptedException這個(gè)異常一般不會(huì)出現(xiàn)
e.printStackTrace();
}
}
}
};
t.start();
}
}
運(yùn)行結(jié)果
19:11:19
19:11:20
19:11:21
19:11:22
19:11:23
interrupt()
打斷一個(gè)線程的暫停狀態(tài),被打斷的線程會(huì)出現(xiàn)InterruptedException

interrupt
package day1404線程;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class XianChengInterrupt {
public static void main(String[] args) {
//新建匿名類(lèi)繼承Thread,調(diào)用父類(lèi)構(gòu)造方法
Thread t=new Thread(){
@Override
public void run() {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
for(int i=1;i<=5;i++)
{
String s = sdf.format(new Date());
System.out.println(s);
try {
//這個(gè)值不一定精確,因?yàn)橐却龝r(shí)間片
Thread.sleep(1000);
} catch (InterruptedException e) {
System.out.println("誰(shuí)捅醒了我!");
break;
}
}
}
};
t.start();
System.out.println("按回車(chē)");
Scanner sc = new Scanner(System.in);
sc.nextLine();
sc.close();
t.interrupt();
}
}
運(yùn)行結(jié)果
按回車(chē)
19:21:45
19:21:46
19:21:47
誰(shuí)捅醒了我!
join()
當(dāng)前線程,等待被調(diào)用的線程執(zhí)行結(jié)束

a線程b線程并行執(zhí)行

b線程想使用a線程在紅點(diǎn)處的運(yùn)算結(jié)果

a.join()