多线程学习(一)

多线程的学习(视频部分学习)


  • 什么是进程?
    进程就是当前正在运行的程序,一个应用程序在内存中的执行区域。比如说qq正在运行,那么qq其实就是一个进程。

  • 什么是线程?
    进程中的一个执行控制单元,执行路径。比如qq中的视频功能在运行的时候就是一个线程,聊天也是一个线程。

一个进程可以有一个线程,也可以有多个线程。

实现方法:

1. 将类声明为Thread的子类,该子类应该重写Thread类的run方法。

举例:

public class MyThread extends Thread {
    @Override
    public void run() {
        for(int i=0;i<200;i++) {
            System.out.println(getName() + ":"+ i);
        }
    }
}

在上面这个程序中,MyThread类继承了Thread类,并且在类中将run方法重写,将会打印出当前线程的名字和1-200之间的数字。

public class Main {

    public static void main(String[] args) {
    
	    //创建线程实例1
        MyThread myThread1 = new MyThread();
        myThread1.setName("第一个线程");
        
        //创建线程实例2
        MyThread myThread2 = new MyThread();
        myThread2.setName("第二个线程");
        
		//创建线程实例3
        MyThread myThread3 = new MyThread();
        myThread3.setName("第三个线程");
        
        //启动线程
        myThread1.start();
        myThread2.start();
        myThread3.start();
    }
}

创建线程实例,并且启动成功。
在这里插入图片描述
此时我们发现这个线程并不是顺序执行,而是交替进行,因为电脑的cpu在执行线程的时候有随机性,所以会出现这这样的情况。

2. 实现Runnable接口的方法

这种方法先实现Runnable接口,实现run方法

public class MyThread2 implements Runnable {
    @Override
    public void run() {
        for(int i=0;i<100;i++){
            System.out.println(Thread.currentThread().getName()+":"+i);
        }
    }
}

然后创建runnable的子类对象,并将这个对象传入到线程的构造方法中,开启线程。

public class ThreadDemo1 {
    public static void main(String[] args){
        //创建线程实例1
        MyThread2 mt1 = new MyThread2();
        Thread thread1 = new Thread(mt1);
        thread1.setName("张三");

        //创建线程实例2
        MyThread2 mt2 = new MyThread2();
        Thread thread2 = new Thread(mt2);
        thread2.setName("李四");

        //启动线程
        thread1.start();
        thread2.start();
    }
}

最后运行出来:
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值