java main函数 多线程_【JAVA】 04-Java中的多线程

链接:

目录:

<>

<>

内容待整理:

多线程引入

概述

多线程:

进程:正在执行中的程序,其实是应用程序在内存中运行的那片空间。

线程:进程中的一个执行单元,负责进程中的程序的运行,一个进程中至少要有一个线程。

多线程程序:一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。

程序启动了多线程,有什么应用呢?可以实现多部分程序同时执行,专业术语:“并发”

多线程运行原理

多线程的使用需要合理使用CPU资源,线程过多会导致降低性能。

CPU处理程序时是通过快速切换完成的,在我们看来好像随机一样(其实有自己的规律)

多线程的创建

主线程的运行方式

主线程:

在之前的代码中,JVM启动后,必然有一个执行路径(线程)从main方法开始,一直执行到main方法结束。

这个线程在java中称为主线程。

问题分析:

当主线程在这个程序中执行时,如果遇到了循环而导致在指定位置停留时间过长,无法执行下面的程序。

可不可以实现一个主线程负责执行其中一个循环,由另一个线程负责其他代码的执行,实现多部分的代码同时执行。

这就是多线程技术可以解决的问题。

多线程的创建:

通过API中的英文Thread的搜索(实在搜不到先去百度搜中文),查到了Thread类

通过阅读Thread类中的描述

多线程的创建一:继承Thread类

步骤:

1.1 定义一个类继承Thread。

1.2 重写run方法。

1.3 创建子类对象,就是创建线程对象。

1.4 调用start方法,开启线程并让线程执行,同时还会告诉jvm去调用run方法。

面试:线程对象调用run方法和调用start方法的区别?

调用run方法不开启线程,并让JVM调用run方法,在开启的线程中执行

调用start方法开启线程,并让JVM调用run方法在开启的线程中执行。

原理:继承Thread类的原理

继承Thread类:

因为Thread类描述线程事物,具备线程应有的功能。

那为什么不直接创建Thread类的对象呢?

Thread t1 = new Thread();

t1.start();

这么做没有错,但该start调用的是Thread类中的run方法

而这个run方法没有做什么事情,更重要的是,这个run方法中没有定义我们需要让线程执行的代码。

创建线程的目的是什么?

为了建立单独的执行路径,让多部分代码实现同时执行。

也就是说,线程创建并执行需要给定的代码(专业术语:线程的任务)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值