zoukankan      html  css  js  c++  java
  • java多线程

    多线程概述

    先来了解几个概念

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

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

    线程的创建与启动

    继承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实例

  • 相关阅读:
    【BZOJ1135】[POI2009]Lyz
    【BZOJ5110】[CodePlus2017]Yazid 的新生舞会
    「BZOJ2882」工艺
    【BZOJ3626】[LNOI2014]LCA
    [Wc]Dface双面棋盘()
    【BZOJ3307】雨天的尾巴
    [NOI2012]骑行川藏
    【BZOJ4919】[Lydsy六月月赛]大根堆
    bzoj4184
    3237: [Ahoi2013]连通图 线段树分治
  • 原文地址:https://www.cnblogs.com/renxixao/p/11479138.html
Copyright © 2011-2022 走看看