Java -- (part16)

一.多线程基础知识

1.进程:在内存中执行的应用程序

2.线程:进程中的一个最小的执行单元

3.并行:在同一时刻,有多个指令在多个CPU上同时执行

4.并发:在同一时刻,有多个指令在单个CPU上交替执行

5.CPU调度

a.分时调度

b.抢占式调度:Java程序

6.主线程:CPU和内存之间开辟的为main方法服务的线程

二.创建多线程的方式

1.继承Thread

a.定义一个类去继承Thread

b.重写run方法,设置线程任务

c.创建自定义线程类对象

d.调用start方法,开启线程,jvm自动执行run方法

2.实现Runnable

a.定义一个类,实现Runnable接口

b.重写run方法,设置线程任务

c.创建自定义线程类,将其放到Thread对象中

d.调用start方法,开启线程,jvm自动执行run方法

3.匿名内部类

new Thread(new Runnable(){重写run方法}).start();

三.Thread中的方法

a.void start()->开启线程,jvm自动调用run方法

b.void run()->设置线程任务,这个run方法是Thread重写的接口Runnable中的run方法

c.String getName()->获取线程名字

d.void setName(String name)->给线程设置名字

e.static Thread currentThread()->获取正在执行的线程对象(此方法在哪个线程中使用,获取的就是哪个线程对象)

f.static void sleep(long millis)->线程睡眠,超时后自动醒来继续执行,传递的是毫秒值

g.int getPriority()->获取线程优先级

h.void Daemon(boolean on)->设置为守护线程

j.static void yield()->礼让线程,让当前线程让出CPU使用权

k.void join()->插入线程或者叫做插队线程

四.线程安全

1.什么时候发生:多个线程访问同一个资源,导致数据有问题

2.同步代码块:

synchronized(锁对象){可能出现线程不安全的代码}

3.同步方法

a.非静态的同步方法

修饰符 synchronized 返回值类型 方法名(形参){方法体返回值}

默认锁:this

b.静态的同步方法

修饰符 static synchronized 返回值类型 方法名(形参){方法体返回值}

默认锁:class对象

五.死锁

出现的原因:锁嵌套

六.线程状态

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2980445.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

C++ CRUD programming for DB

1、ODBC 开放数据库互连,微软主导的关系型数据库接口标准,允许同一代码访问不同DBMS中的数据。小案例:C连接Access数据库----增删改查_c access数据库-CSDN博客 ODBC(Open Database Connectivity,开放数据库连接) ODBC是Microsof…

PCB的通孔、盲孔、埋孔

通孔:是从顶层到底层 盲孔:看不到头,跟井一样,起点永远是第一层 埋孔:是正反都看不到的 总结: 这些孔都是用来切换层的

超详细的Maven安装与使用还有内容讲解

文章目录 作用简介模型仓库 安装配置IDEA配置Maven坐标概念主要组成 IDEA创建Maven项目基本使用常用命令生命周期使用坐标导入jar包 注意事项清理maven仓库更新索引依赖 作用 Maven是专门用于管理和构建Java项目的工具,它的主要功能有: 提供了一套标准化…

力扣HOT100 - 101. 对称二叉树

解题思路: class Solution {public boolean isSymmetric(TreeNode root) {if(root null) return true;return recur(root.left, root.right);}boolean recur(TreeNode L, TreeNode R) {if (L null && R null) return true;if (L null || R null || L.…

基于深度学习网络的十二生肖图像分类matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ............................................................... for i 1:16subplot(4,4,…

第七章 信息系统维护与管理

文章目录 一,概述二,信息系统的使用(一)用户培训(二)系统转换(三)系统运行 三,信息系统的维护(一)信息系统维护过程1,维护组织2&#…

Meta Llama 3本地部署

感谢阅读 环境安装收尾 环境安装 项目文件 下载完后在根目录进入命令终端(windows下cmd、linux下终端、conda的话activate) 运行 pip install -e .不要控制台,因为还要下载模型。这里挂着是节省时间 模型申请链接 复制如图所示的链接 然后…

mongodb 安装问题

1. mongodb启动时显示 Illegal instruction (core dumped) mongodb 5.0之后(包括5.0) 开始使用需要使用 AVX 指令集 2.启动时报错 ERROR: child process failed, exited with 1 通过指令 bin/mongod --repair 查看报错信息 根据报错信息进行修改 3. 配置服务器添加节点时…

【北京迅为】《iTOP-3588开发板系统编程手册》-第19章 V4L2摄像头应用编程

RK3588是一款低功耗、高性能的处理器,适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用,RK3588支持8K视频编解码,内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…

企商在线亮相2024中国生成式AI大会,展出多元异构算力服务

4月18—19日,由知名媒体机构智东西与智猩猩共同主办的2024中国生成式AI大会在北京举行,55位重量级产学研投界代表同台分享。企商在线作为算力行业代表企业,参展生成式AI展区,现场展出企商在线AI算力平台及异构算力服务。 大会以“…

三分钟快速理解Flink 作业提交流程(包工头的工程之路)

核心组件 我们先来简单了解一下 flink 作业提交涉及到的组件 同时,如果不了解 Yarn 的同学欢迎跳转到这篇文章,了解一下健鑫集团的工程承包流程(doge): 三分钟快速理解Yarn的工作流程 JobManager JobManager 是整个flink作业的管理者 包含 Dispatch…

“PowerInfer:消费级GPU上的高效大型语言模型推理引擎“

PowerInfer是由上海交通大学IPADS实验室开发的一个高效大型语言模型(LLM)推理引擎,专为个人电脑(PC)上的消费者级GPU设计。它通过利用LLM推理中的高局部性,实现了快速且资源消耗低的模型推理,这…

深入探究图像增强(C语言实现)

我们将从基础出发使用C语言进行图像处理与分析,重点讨论图像增强和平滑技术。图像增强技术旨在通过增加对比度、亮度和整体清晰度来改善图像的视觉质量。另一方面,图像平滑方法则用于减少噪声并减少图像中的突变,使图像更加均匀和视觉上吸引人…

Github Copilot正版的激活成功,终于可以chat了

Github Copilot 代码补全等功能,提高写代码的效率 https://web.52shizhan.cn/activity/copilot 登录授权后,已经可以使用,完美。如图

OpenFE:开启数据特征工程新时代

OpenFE:开启数据特征工程新时代 数据特征工程是机器学习和数据分析领域中至关重要的一环,它涉及对原始数据进行处理和转换,以提取出有用的特征,为模型构建和预测提供更好的输入。在这个领域中,Python库OpenFE为数据科学…

查找两个字符串的最长公共子串

暴力解法 #include <iostream> #include <vector> #include <cstring> using namespace std; string a, b, minn ""; // a和b是我们输入的 // minn存储的是我们最小的那个字符串string cut(int l, int r) {string tmp "";for (int i …

大小端解释以及如何使用程序判断IDE的存储模式

今天让我们来了解一下大小端的概念吧 什么是大小端&#xff1f; 大端&#xff08;存储&#xff09;模式&#xff1a;指的是数据的低位保存在内存的高地址处&#xff0c;而数据的高位则保存在内存的低地址处。 小端&#xff08;存储&#xff09;模式&#xff1a;指的是数据的低位…

Discuz! X系列版本安装包

源码下载地址&#xff1a;Discuz! X系列版本安装包 很多新老站长跟我说要找Discuz! X以前的版本安装包&#xff0c;我们做Discuz! X开发已经十几年了&#xff0c;这些都是官方原版安装包&#xff0c;方便大家使用&#xff08;在官网已经找不到这些版本的安装包了&#xff09; …

新网站上线需要注意什么?

质量保证&#xff1a;确保网站的所有功能和页面都经过了充分的测试&#xff0c;并且在各种不同的浏览器和设备上都能够正常运行。检查所有链接、表单和交互式元素&#xff0c;确保它们都能够按照预期工作。优化性能&#xff1a;确保网站加载速度快&#xff0c;响应迅速。优化图…

详细UI色彩搭配方案分享

UI 配色是设计一个成功的用户界面的关键之一。UI 配色需要考虑品牌标志、用户感受、应用程序的使用场景&#xff0c;这样可以帮助你创建一个有吸引力、易于使用的应用程序。本文将分享 UI 配色的相关知识&#xff0c;帮助设计师快速构建 UI 配色方案&#xff0c;以满足企业的需…