首页 > 技术文章 > java多线程

renxixao 2019-09-08 21:47 原文

多线程概述

先来了解几个概念

进程:
     正在运行的程序,是系统进行资源分配和调用的独立单位
     每一个进程都有它自己的内存空间和系统资源
线程:
    进程中的单个顺序控制流 是一条执行路径
         一个进程如果只有一条执行路径 则称为单线程程序
    一个进程如果有多条执行路径 则称为多线程程序

并行和并发
  前者是逻辑上同时发生 指在某一个时间内同时运行多个程序
  后者是物理上同时发生 指在某一个时间点同时运行多个程序

 

线程的创建与启动

继承Thread类创建线程

定义Thread的子类 重写run方法 run方法体就代表了线程需要完成的任务 start方法用来启动线程

public class MyThread extends Thread {

    @Override
    public void run() {
        for (int x = 0; x < 200; x++) {
            System.out.println(getName()+x);
        }
    }

    public static void main(String[] args) {
        MyThread my1 = new MyThread();
        MyThread my2 = new MyThread();

        my1.start();
        my2.start();
    }
}

 

返回当前正在执行的线程对象  public static Thread currentThread()

获取线程对象的名称    public final String getName()
设置线程对象的名称    public final void setName(String name)

 

实现Runnable接口创建线程

定义Runnable接口的实现类 重写该接口的run方法 

创建Runnable的实现类对象 兵役此实例作为Thread的target来创建Thread对象  该对象才是真正的线程对象

FristThread ft = new FristThread();
new Thread(ft);

Runnable对象仅仅作为Thread对学校的target Runnable实现类里包含的run()方法仅作为线程执行体 实际的线程对象Thread实例

推荐阅读