当前位置: 首页 > news >正文

你通俗易懂的理解——线程、多线程与线程池

一:异常处理

        1.1 异常概述

                (1)场景

                        

                (2)定义

                        

                (3)异常抛出机制

                        Java把不同的异常用不同的类表示

                        

                (4)如何对待异常

                        

        1.2 常见异常类

                        

                (1)Throwable

                        

                (2)Error

                        

                (3)Exception

                        

                (4)编译时异常和运行时异常

                        

                        编译时异常

                        

                        运行时异常

                        

        1.3 异常处理

                   (1)概述

                (2)异常处理方式

                        

                (3)try-catch-finally

                        抓抛模型

                                抓的过程,生成异常类对象后将对象抛出,程序不执行其后代码

                                抓:对抛出的异常对象进行捕获处理

                                

                        基本结构

                                

                        使用细节

                                

                (4)finally

                        

                        是否必须写

                        

                        一定要声明在finally中的代码

                        

                 (5)throws

                                是否真正处理了异常

                                

                (6)自定义异常

                                自定义异常类

                                

                                使用自定义异常类

                                

                                使用自定义异常原因

                                

二:线程

        2.1 相关概念

                (1)程序、进程、线程

                        程序是一段代码,进程是程序的执行过程(从创建到使用到消亡),线程

                (2)线程调度

                        分时调度:所有线程轮流使用CPU的使用权

                        抢占式调度:让优先级高的线程优先使用CPU

        2.2 常用方法和生命周期

                (1)常用方法

                        构造器

                        

                        Sleep(long mills):静态方法,调用时,可以使得当前线程睡眠指定毫秒数

                (2)生命周期

                        阻塞一定是临时状态

                        

        2.3 线程创建方式

                (1)步骤

                (2)代码

                    

                                使用实现Runnable接口的方式(提供了Runnable接口匿名实现类的匿名对象)

                

        2.4 线程安全

                (1)问题描述:多线程卖票出现了重票和错票

                (2)解决思路:保证一个线程a在操作ticket的过程中,其它线程必须等待,知道线程a操作ticket结束以后,其它线程才可以操作共享数据

                (3)实现

                        使用线程同步机制(同步代码块或同步方法)

                        需要被同步的代码,在被synchronized包裹以后,就使得一个线程在操作这些代码的过程中,其它线程必须等待

                        同步监视器:俗称锁,哪些线程获取了锁,哪个线程就能执行需要被同步的代码

(4)代码

     

http://www.xdnf.cn/news/587215.html

相关文章:

  • 架构实践中,指标体系如何科学建立?构建指标体系的五层结构模型是什么?不同架构风格下的指标体系有怎样的差异?
  • 腾讯2025年校招笔试真题手撕(二)
  • 欧拉降幂(JAVA)蓝桥杯乘积幂次
  • Windows 平台 TCP 通信开发指南
  • Redisson分布式锁案列和源码解读
  • WebBuilder快速开发平台:企业级开发的未来
  • 语义分割的image
  • linux arm架构下如何搭建内网穿透
  • linux 下 scp 传文件时保留文件夹中的原格式属性
  • vue3+element-plus+pinia完整搭建好看简洁的管理后台
  • 关于Python编程语言的详细介绍,结合其核心特性、应用领域和发展现状,以结构化方式呈现:
  • 邮箱验证码登录流程
  • [每日一题] 3362. 零数组变换 iii
  • MapReduce-Top N程序编写与运行
  • 修改 vue-pdf 源码升级 pdfjs-dist 包, 以解决部分 pdf 文件显示花屏问题
  • 基于大模型的胫腓骨干骨折全周期预测与治疗方案研究报告
  • 五分钟学会如何封装Jsckson工具类
  • OpenCV CUDA 模块图像过滤------创建一个高斯滤波器函数createGaussianFilter()
  • Python中的并发编程
  • Java集合框架与三层架构实战指南:从基础到企业级应用
  • OceanBase 系统表查询与元数据查询完全指南
  • 使用web3工具结合fiscobcos网络部署调用智能合约
  • JAVA:柔性一致性策略 BASE 原则
  • tasklet上下文内存分配触发might_alloc检查及同步回收调用链
  • 【C++】笔试强训 第一天
  • 【学习笔记】机器学习(Machine Learning) | 第七章|神经网络(3)
  • 并发编程之线程安全
  • 云原生安全 SaaS :从基础到实践
  • 驱动钛丝(SMA)的应用(5)汽车腰托气阀常见问题及解决方案
  • 101个α因子#23