美文网首页
day11-01/02/03多线程(概述)

day11-01/02/03多线程(概述)

作者: 姗婷 | 来源:发表于2020-05-26 07:57 被阅读0次

一、多线程

进程:是一个正在执行中的程序每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元
线程(例:FlashGet):就是进程中一个独立的控制单元,线程在控制着进程的执行。一个进程中至少有一个线程。
Java VM 启动的时候会有一个进程java.exe,该进程中至少一个线程负责java程序的执行。而且这个线程运行的代码存在于main方法中。该线程称之为主线程。

扩展:其实更细节说明jvm,jvm启动不只一个线程,还有负责垃圾回收机制的线程。
1,如何在自定义的代码中,自定义一个线程呢?
通过对api的查找,java已经停工了对线程这类事物的描述,就是Thread类。
创建线程的第一种方式:继承Thread类。

步骤:
1.定义类继承Thread。
2.复写Thread的run方法。
目的:将自定义的代码存储再run方法。让线程运行。
3.调用线程的start方法。该方法两个作用:启动线程,调用run方法。
发现运行结果每一次都不同,因为多个线程都在获取cpu的执行权。cpu执行到谁,谁就运行。

明确一点,在某一个时刻,只能有一个程序在运行,(多核除外)cpu在做着快速的切换,以达到看上去是同时运行的效果。
我们可以形象把多线程的运行行为在互相抢夺cpu的执行权。

这就是多线程的特性,随机性.谁抢到谁执行,至于执行多长,cup说的算
创建线程方式一
继承Thread类 1. 子类覆盖父类中的run方法,将线程运行 的代码存放在 run中。 2. 建立子类对象的同时线程也被创建。 3. 通过调用start方法开启线程。

为什么要复写Thead中的run方法呢?
Thread类用于描述线程。该类就定义了一个功能,用于存储线程要运行的代码。该存储功能就是run方法。也是就是说Thread类中run方法,用于存储线程要运行的代码。

d.start();和//d.run();运行结果的区别:d.start();main主线程与run方法的线程会交替执行。d.run();只是对象调用方法,按顺序执行

class Demo extends Thread
{
    //重写Thread的run方法
    public void run()
    {
        for(int x=0;x<60;x++)
        System.out.println("demo run---"+x);
    }
}
class ThreadDemo
{
    public static void main(String[] args)
    {
        Demo d = new Demo();//创建好一个线程
        d.start();//开启线程并执行该线程的run方法
        //d.run();//仅仅是对象调用方法,而线程创建了,并没有运行
        for(int x=0;x<60;x++)
            System.out.println("HELLO WORLD+++"+x);
    }
}

相关文章

  • day11-01/02/03多线程(概述)

    一、多线程 进程:是一个正在执行中的程序每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元线...

  • iOS多线程04-NSOperation实践

    推荐文章 iOS多线程01-介绍iOS多线程02-NSThread实践iOS多线程03-GCD实践iOS多线程04...

  • 黑马day06

    01项目概述.avi02需求分析.avi03概要设计.avi04详细设计.avi 01项目概述 02需求分析 03...

  • python多线程基础

    多线程准备脚本test01 多线程准备脚本test02 多线程准备脚本test03 多线程准备脚本test04 1...

  • Day18 多线程

    01.多线程技术1 02.多线程技术2 03.多线程应用 04.join 函数 耗时操作 1.耗时操作放到主线程中...

  • Day 1 typealias 和调用类方法 - 100天 Sw

    概述 日期: 2017-02-08 项目: 知天气(中级版) 学到了什么: typealias 的概念 用多线程和...

  • Flutter学习

    Flutter环境配置 Flutter_01_零散知识 Flutter_02_原理概述 Flutter_03_Da...

  • iOS面试总结(初级)

    01:iOS推送机制,实现原理02:多线程编程,GCD,锁,同步异步队列03:property 各种关键字,以及...

  • 诗词格律入门

    诗词格律简捷入门 目 录 (一)概述 (二)平仄 (01)关于近体诗 (02)平仄的基本格式 (03)“对”和“...

  • 《Python 函数》04 - 函数参数

    相关文章 01 - 课程介绍及概述(挖坑待填)02 - 函数调用03 - 定义函数04 - 函数参数05 - 函数...

网友评论

      本文标题:day11-01/02/03多线程(概述)

      本文链接:https://www.haomeiwen.com/subject/jkayahtx.html