Java 多线程的创建(创建Thread类,实现Runnable接口)

一、什么是线程,进程及创建多线程的方式

@什么是进程,进程是正在运行的应用程序,进程是线程的集合。
* 什么是线程,线程是一条执行路径,一个独立的执行单元。
* 什么是多线程 为了提高程序效率
* 创建有哪些方式?
* 1.使用继承Thread类方式
* 2.使用实现runable接口方式
* 3.使用匿名类方式
* 4.callable
* 5.使用线程池创建线程

二、实例

  1. 使用继承 Thread 类创建线程:

    class CreateThreadDemo1 extends Thread{
    
        @Override
        public void run(){
            super.run();
            for (int i = 0;i < 1000;i++){
                System.out.println("run:"+i);
            }
        }
    }
    public class ThreadDemo1 {
    
        public static void main(String[] args) {
            CreateThreadDemo1 createThreadDemo1 = new CreateThreadDemo1();
            //启动线程,不是调用run方法,而是调用start方法
            //使用多线程后,代码不会从上到下执行
            createThreadDemo1.start();
            for (int i = 0;i < 1000;i++){
                System.out.println("main:"+i);
            }
    
        }
    }
    
  2. 运行结果:
    在这里插入图片描述

  3. 可以看到run方法和main方法交替执行;

二、同步与异步的区别

  1. 什么是同步
    同步就是代码从上至下执行,俗称单线程
    在这里插入图片描述
    故此程序执行完需要20秒的时间。

  2. 什么是异步
    俗称多线程
    在这里插入图片描述
    此程序执行完只需10秒,故多线程提高了程序效率。
    在执行是有一个CPU执行权,每次运行时结果不一样,是因为在执行时cpu调度不一样。

三、使用实现Runnable方式创建多线程
3. 实例
```
class CreateThreadDemo2 implements Runnable{

    @Override
    public void run() {
        for (int i = 0;i < 30;i++){
            System.out.println("子线程run"+i);
        }
    }
}
public class ThreadDemo2 {
    public static void main(String[] args) {
        CreateThreadDemo2 t1 = new CreateThreadDemo2();
        Thread thread = new Thread(t1);
        thread.start();
        for (int i = 0;i < 30;i++){
            System.out.println("main"+i);
        }
    }

}
```
  1. 运行结果:
    在这里插入图片描述

总结:使用继承方式创建多线程好还是使用接口方式创建多线程好?

答:使用接口方式好。开发一般是面向接口编程,接口可以多继承。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值