Java多线程之启动线程的三种方式

1.继承Thread类

1. 继承Thead类并重写该类的run()方法,该run方法的方法体就代表了线程需要完成的任务
2. 创建子类的实例对象
3. 调用线程对象的start()方法来启动该线程
public class Thread1 extends Thread {
    @Override
    public void run() {
        for (int i=0;i<10;i++){
            System.out.println(Thread.currentThread().getName()+"在Thread1里面执行"+i);
        }
    }
}
public class ThreadTest {
    public static void main(String[] args){

        for (int i=0;i<10;i++){
            new Thread1().start();
            System.out.println(Thread.currentThread().getName()+" 在main方法中执行 "+i);
        }
    }
}

2. 实现Runnable接口

1.定义Runnable接口的实现类,并重写run方法,该run方法的方法体同样是该线程的线程执行体
2. 创建Runnable实现类的实力对象,并以这个实例对象作为Thread的target来创建Thread类;
3. 调用线程对象的start方法来启动该线程
public class Thread1 implements Runnable {

    public void run() {
        for (int i=0;i<10;i++){
            System.out.println(Thread.currentThread().getName()+"在Thread1里面执行"+i);
        }
    }
}
public class ThreadTest {
    public static void main(String[] args){

        for (int i=0;i<10;i++){
            new Thread(new Thread1()).start();
            System.out.println(Thread.currentThread().getName()+" 在main方法中执行 "+i);
        }
    }
}

main函数中名没有直接执行Thread1的run方法,而是将Thread1填入到了Thread中,使用start方法来启动。Runable实现类里包含run方法,仅仅作为线程执行体,而实际的线程对象依然是Thread实例对象,Thread为真正创建线程的对象。

3. 匿名内部类

本质上也是一个类实现了Runnable接口,重写了run方法,只不过这个类没有名字,直接作为参数传入Thread类
public class ThreadTest {
    public static void main(String[] args){
        new Thread(new Runnable() {
            public void run() {
                for (int i = 0; i < 50; i++) {
                    System.out.println(Thread.currentThread().getName() + "执行" + i);
                }
            }
        }).start();
        

        for(int i=0;i<10;i++){
            System.out.println(Thread.currentThread().getName()+"执行"+i);
        }


    }
}






全部评论

相关推荐

2025-12-28 16:32
重庆邮电大学 Java
程序员花海:1.技能放最后,来面试默认你都会,技能没啥用 2.实习写的看起来没啥含金量,多读读部门文档,包装下 接LLM这个没含金量 也不要用重构这种 不会给实习生做的 3.抽奖这个还是Demo项目,实际在公司里面要考虑策略,满减,触发点,触发规则 库存 之类的,不是这个项目这么简单 4.教育背景提前,格式为 教育背景 实习 项目 技能 自我评价
简历被挂麻了,求建议
点赞 评论 收藏
分享
秋招投简历提醒助手:个人经验是,一般面二十场左右就会进入侃侃而谈阶段。我今年七月末的时候开始的第一次面试,都是很多不会,回复很慢。后面慢慢迭代,到九月中的时候基本上面啥说啥,很放松的状态
远程面试的尴尬瞬间
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务