多线程

多线程的介绍

进程:

进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。

线程:

线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程(就是主线程)。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。所有的线程都共用由进程申请的同一片内存。

多线程程序

即,若有多个任务可以同时执行。如,去网吧上网,网吧能够让多个人同时上网。

程序运行原理

分时调度

所有线程轮流使用 CPU 的使用权,平均分配每个线程占用 CPU 的时间。

抢占式调度

优先让优先级高的线程使用 CPU,如果线程的优先级相同,那么会随机选择一个(线程随机性),Java使用的为抢占式调度。

如何创建一个线程

创建线程方式一继承Thread类

创建线程的步骤:

1 定义一个类继承Thread。

2 重写run方法。

3 创建该类的对象,就是创建线程对象。

4 调用start方法,开启线程并让线程执行,同时还会告诉jvm(Java虚拟机)去调用run方法。

代码示例

//定义一个类TestThread,继承Thread。
class TestThread extends Thread
{
    @Override
    public void run()
    {
        String name= Thread.currentThread().getName();
        for (int i=0;i<50;++i)
        {
            System.out.println(name+":"+(i+1));
        }
        super.run();
    }

    }

     // 创建TestThread的对象来使用你创建的子线程
        TestThread tt=new TestThread();
        //设置子线程的名字
        tt.setName("子线程1");
         //开启线程并告诉jvm去调用run方法
        tt.start();

创建线程方式—实现Runnable接口

创建线程的步骤。

1、定义类实现Runnable接口。

2、覆盖接口中的run方法。。

3、创建Thread类的对象

4、将Runnable接口的子类对象作为参数传递给Thread类的构造函数。

5、调用Thread类的start方法开启线程。

//声明一个实现 Runnable 接口的类----PXDThread
class PXDThread implements Runnable
{
    //实现 run 方法。
    public void run() {
        String name= Thread.currentThread().getName();
        for (int i=0;i<50;++i)
        {
            System.out.println(name+":"+(i+1));
        }

}
}
      //创建一个任务
        PXDThread pt=new PXDThread();
        //把该任务放入一个线程中
        Thread t=new Thread(pt);
        t.setName("子线程3");
        t.start();

你可能感兴趣的:(多线程)