当前位置: 首页 > 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)代码

     

相关文章:

  • strlen和sizeof,const char *、char * const 和char []区别
  • Web安全与漏洞挖掘
  • 常见高危端口解析:网络安全中的“危险入口”
  • 网络安全-等级保护(等保) 3-1 GB/T 28448-2019 《信息安全技术 网络安全等级保护测评要求》-2019-05-10发布【现行】
  • 01-jenkins学习之旅-window-下载-安装
  • OceanBase数据库全面指南(基础入门篇)
  • Django的请求和响应+template模板
  • 软件设计师“设计原则”真题考点分析——求三连
  • 重排序模型计算两个文本的分数
  • VS Code中Maven未能正确读取`settings.xml`中配置的新路径
  • 超声仿真乳腺体模的主要声学参数
  • docker容器暴露端口的作用
  • Linux中 I/O 多路复用机制的边缘触发与水平触发
  • 基于ITcpServer/IHttpServer框架的HTTP服务器
  • 如何重新设置网络ip地址?全面解析多种方法
  • Python 数据分析基础
  • leetcode hot100刷题日记——9.矩阵置零
  • 【小乌龙问题】stm32供电,用过的ch340缺无法被识别
  • [安装并使用Milvus_CLI]
  • 开疆智能Profinet转RS485网关连接富士电机配置案例
  • 怎么做网站里面的模块/今天发生的重大新闻5条
  • wordpress 本地/排名优化软件点击
  • 上海网站制作工作室/常州网站seo
  • cms网站/专业竞价托管哪家好
  • 设计类网站/舆情服务公司
  • 5118站长网站/搜索引擎的作用