在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
众所周知,利用好多线程机制,可以大大提高系统整体的并发能力以及性能,而且线程间的切换和调度的成本小。因此,多线程是Java学习者必须掌握的语法重点。本文为大家整理了进程和线程、实现多线程方式、设置和获取线程名称、线程优先级和线程控制等等多线程知识点笔记,有需要的朋友一起来学习吧!
1、进程和线程
(1)进程:是正在运行的程序,是系统进行资源分配和调用的独立单位,每一个进程都有它自己的内存空间和系统资源。
(2)线程:是进程中的单个顺序控制流,是一条执行路径。单线程:一个进程如果只有一条执行路径,则称为单线程程序。多线程:一个进程如果有多条执行路径,则称为多线程程序。
2、实现多线程方式一:继承Thread类
(1)方法介绍
(2)实现步骤:
- 定义一个类MyThread继承Thread类
- 在MyThread类中重写run()方法
- 创建MyThread类的对象
- 启动线程
(3)两个小问题
a、为什么要重写run()方法?
因为run()是用来封装被线程执行的代码
b、run()方法和start()方法的区别?
run():封装线程执行的代码,直接调用,相当于普通方法的调用。start():启动线程;然后由JVM调用此线程的run()方法
3、设置和获取线程名称
方法介绍:
4、线程优先级
(1)线程调度
分时调度模型:所有线程轮流使用 CPU 的使用权,平均分配每个线程占用 CPU 的时间片。抢占式调度模型:优先让优先级高的线程使用 CPU,如果线程的优先级相同,那么会随机选择一个,优先级高的线程获取的 CPU 时间片相对多一些。Java使用的是抢占式调度模型。假如计算机只有一个 CPU,那么 CPU 在某一个时刻只能执行一条指令,线程只有得到CPU时间片,也就是使用权,才可以执行指令。所以说多线程程序的执行是有随机性,因为谁抢到CPU的使用权是不一定的。
(2)优先级相关方法
5、线程控制
相关方法:
以上就是Java基础语法中,关于多线程学习笔记的全部整理,大家都明白了吗?如果还有不明白的地方,可以在博学谷官网观看相关章节的就业班视频课程,相信有了讲师深入浅出的讲解,大家对多线程的知识点会掌握的更加牢靠。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Java初学者必须了解的Java基础知识
学习一门新的技术,入门阶段是最关键的。就拿Java学习而言,无论是自学还是参加培训,首先要对Java的基础知识有一定的了解。例如Java到底是什么,主要应用在那些方面,有哪些核心技术,目前市场需求如何等等。在具体学习过程中还要考虑学习路径是什么,学习方法,热门知识点等等。这里小编主要针对Java初学的小伙伴,一起了解一下入门时应该了解的Java基础知识。
23495
2019-12-13 19:00:19
Java基础语法之注解学习笔记
在学习Java基础语法的时候,初学者常常会分不清注解与注释的区别。其实注解和注释是完全不一样的两个概念。简单来讲,注释就是方便自己或他人阅读代码,对编程思路或程序作用的解释说明。而注解则是代码里的特殊标记,是给编译器阅读的元数据。本文将为大家详细讲解一下Java基础语法中有关注解的相关知识点,需要学习的小伙伴可以跟着文章一起来梳理一遍知识点。
5346
2020-01-06 16:53:17
TLAB线程本地分配缓存区是什么?TLAB工作原理分析
TLAB线程本地分配缓存区是什么?工作原理分析,TLAB全称Thread Local Allocation Buffer,即线程本地分配缓存区,是一个线程专用的内存分配区域。在线程初始化时,虚拟机会为每个线程分配一块TLAB空间,只给当前线程使用。
8614
2020-03-17 15:26:25
Java入门知识点有哪些?学什么?
Java入门知识点有哪些?零基础入门学习Java开发要学习Java基础语法、关键字、标识符、变量、AScii码和Unicode码、基本数据类型转化、String类、进制、运算符、程序流程控制语句等基础知识。
4044
2021-02-02 11:19:00
Kafka消息的分发流程是什么?
使用kafka向指定Topic发送消息时,如果该Topic具有多个partition,无论消费者有多少,最终都会保证一个partition内的消息只会被一个Consumer group中的一个Consumer消费,也就是说同一Consumer group中的多个Consumer自动会起到负载均衡的效果。
2672
2022-09-16 15:31:50