java基础---多线程

1.并发与并行

  并发:指两个或多个事件在同一时间段内发生

  并行:指两个或多个事件在同一时刻发生(同时发生)

 

2.线程与进程

线程是进程的执行单元,一个进程可能有多个线程

3.多线程的创建方法:

  方法一:

    (1)创建一个Thread类的子类

    (2)在Thread类的子类中重写Thread中的run 方法,设置线程任务(开启线程要做什么?)

    (3)创建Thread类的子类对象

    (4)调用Thread类的方法start(),开启新的线程执行run方法

public class MyThread extends Thread{
    @Override
    public void run() {
        for (int i = 0; i <5 ; i++) {
            System.out.println("方法"+i);
        }
    }
    public static void main(String[] args) {
        Person p1=new Person("xiaoming");
       MyThread thread=new MyThread();  //开辟新的cpu线程,指向run方法
       thread.start();
        p1.count();     //主线程执行方法
       thread.run();
    }

 

  方法二:Runable接口

    (1)创建Runable接口的实现类

    (2)在实现类中重写Runable接口run方法,设置线程任务

    (3)创建一个runable接口实现类对象

    (4)创建Thread类对象,构造方法中传递Runable接口实现类对象

    (5)调用Thread类中start方法,开启新的线程执行run方法

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

    }

    public static void main(String[] args) {
        RunableImpl runable=new RunableImpl();
        Thread thread=new Thread(runable);
        thread.start();
        for (int i = 0; i <10 ; i++) {
            System.out.println("main"+" "+Thread.currentThread().getName()+i);
        }
    }
}

 

 

4.多线程的随即打印

public class MyThread extends Thread{
    @Override
    public void run() {
        for (int i = 0; i <5 ; i++) {
            System.out.println("方法"+i);
        }
    }
    public static void main(String[] args) {
        Person p1=new Person("xiaoming");
       MyThread thread=new MyThread();  //开辟新的cpu线程,指向run方法
       thread.start();
        p1.count();     //主线程执行方法
       thread.run();
    }
}
xiaoming0
xiaoming1
方法0
方法1
方法2
方法3
方法4
xiaoming2
xiaoming3
xiaoming4
xiaoming5
xiaoming6
xiaoming7
xiaoming8
xiaoming9
方法0
方法1
方法2
方法3
方法4

 

 

 

 

posted @ 2020-10-26 21:51  lemmon_water  阅读(105)  评论(0)    收藏  举报