一:
public class Test{
public static void main(String[] args) {
Mythread t = new Mythread("aaaa");
t.start();
try {
t.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
for(int i=1;i<=10;i++){
System.out.println("i am main thread");
}
}
}
class Mythread extends Thread{
Mythread(String s){
super(s);
}
public void run(){
for(int i=1;i<=10;i++){
System.out.println("i am" + getName());
try {
sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}return;
}
}
输出结果:i amaaaai amaaaa
i amaaaa
i am main thread
i am main thread
i am main thread
二、
public class Test{
public static void main(String[] args) {
Mythread t = new Mythread("aaaa");
t.start();
for(int i=1;i<=3;i++){
System.out.println("i am main thread");
}
}
}
class Mythread extends Thread{
Mythread(String s){
super(s);
}
public void run(){
for(int i=1;i<=3;i++){
System.out.println("i am" + getName());
}
try {
sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}return;
}
}
输出结果:i am main thread
i am main thread
i am main thread
i amaaaa
i amaaaa
i amaaaa
通过一、二比较得:
join()方法让此线程加入到主线程之中,即等待主线程执行完毕之后再执行子线程。
sleep()方法会让线程睡眠指定的毫秒数。
yield()方法让出CPU,让其他线程执行。