package cn.itcast.demo;
public class ThreadDemo01 {
public static void main(String[] args) {
//第一种实现线程的方法
Thread thread = new Thread(){
boolean flag = true;
int i = 0;
public void run() {
while(flag)
{
i++;
System.out.println("1" + ":" + Thread.currentThread().getName());
System.out.println("2" + ":" + this.getName());
if(i == 10)
{
flag = false;
}
}
}
};
// thread.start();
//第二种实现线程的方法
Thread thread2 = new Thread(new Runnable(){
public void run() {
System.out.println("3" + ":" + Thread.currentThread().getName());
}
});
// thread2.start();
//注解
/*我们看到的线程的运行机制:当我们的Thread调用start方法的时候,就会去调用run方法,
* 假如我们自己的ThreadDemo中没有重写run方法,就会去找父类Thread中的run方法,
* 其实父类的run方法中就是去调用Runnable接口的run方法,所以如果我们自己的ThreadDemo中重写了
* run方法,就不会去调用父类的run方法,也就不会去调用Runnable接口中的方法
*
*/
//重点看这个例子,调用的是"2"中的代码
new Thread(
new Runnable(){
public void run() {
System.out.println("1" + ":" + Thread.currentThread().getName());
}
}
){
@Override
public void run() {
System.out.println("2" + ":" + Thread.currentThread().getName());
}
}.start();
}
}
线程的两种基本的方法
最新推荐文章于 2023-10-14 20:02:37 发布