线程

来源:互联网 发布:韩剧和真实的韩国知乎 编辑:程序博客网 时间:2024/05/22 15:02
public class TestMain {


/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

// ThreadA ta = new ThreadA(100);
// ta.start();//调用start方法才是开启线程
// ta.run();//调用run方法虽然不报错,但是没有开启线程,只是相当于普通的方法调用


// ThreadB tb = new ThreadB(100);
// Thread th = new Thread(tb);//将接口对象传入到线程中
// th.start();//调用线程的start方法

// for(int i = 0; i < 100; i++){
// System.out.println("This is main! ***" + i);
// }


System.out.print("系统操作中");
for(int i = 0; i < 6; i++){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.print(".");
}
System.out.println();


}


//实现线程的第一种方式
public class ThreadA extends Thread{

private int num;

public ThreadA(int num){
super();
this.num = num;
this.setPriority(8);
this.start();
}

@Override
public void run() {
// TODO Auto-generated method stub
//相当于线程的main方法
for(int i = 0; i < this.num; i++){
System.out.println("This is ThreadA! ===" + i);
}
}

}

//线程的第二种实现方式
public class ThreadB implements Runnable{
private int num;



public ThreadB(int num){
this.num = num;
Thread th = new Thread(this);
th.setPriority(4);
th.start();
}


@Override
public void run() {
// TODO Auto-generated method stub
for(int i = 0; i < this.num; i++){
System.out.println("This is ThreadB! ~~~~" + i);
}
}


}


0 0