1.取得線程名稱
getName();
2.取得當前線程對象
currentThread();
3.判斷線程是否啓動
isAlive();
4.線程的強行運行
join();
示例:
class RunnableDemo implements Runnable {
private String name;
public RunnableDemo(String name) {
this.name = name;
}
public void run() {
for (int i = 0; i < 100; i++) {
// 打印出當前線程對象的名稱
// System.out.println("當前線程對象:" + Thread.currentThread().getName());
System.out.println(name + ":" + i);
}
}
}
public class ThreadDemo03 {
public static void main(String[] args) {
RunnableDemo r = new RunnableDemo("A");
Thread t = new Thread(r);
// 判斷線程是否啓動
// System.out.println(t.isAlive());//啓動前爲false
t.start();
// System.out.println(t.isAlive());//啓動後爲true
for (int i = 0; i < 50; i++) {// 主線程運行到i>10時,刺激線程t強行執行
if (i > 10) {
try {
t.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("主線程" + i);
}
}
}
5.線程的休眠
sleep()
.
.
示例:
class RunnableDemo implements Runnable {
private String name;
public RunnableDemo(String name) {
this.name = name;
}
public void run() {
for (int i = 0; i < 100; i++) {
try {
Thread.sleep(1000);
System.out.println(name + ":" + i);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
public class ThreadDemo03 {
public static void main(String[] args) {
RunnableDemo r = new RunnableDemo("A");
Thread t = new Thread(r);
t.start();
}
}
結果:
每秒鐘顯示一行數據
6.線程的禮讓
示例:
class RunnableDemo implements Runnable {
private String name;
public RunnableDemo(String name) {
this.name = name;
}
public void run() {
for (int i = 0; i < 50; i++) {
System.out.println(name + ":" + i);
if (i==10) {
System.out.println("禮讓");
Thread.yield();// 禮讓方法
}
}
}
}
public class ThreadDemo03 {
public static void main(String[] args) {
RunnableDemo r1 = new RunnableDemo("A");
RunnableDemo r2 = new RunnableDemo("B");
Thread t1 = new Thread(r1);
Thread t2 = new Thread(r2);
t1.start();
t2.start();
}
}
結果: