多线程的学习01

news2024/12/28 4:45:50

什么是线程

线程是为了解决并发编程引入的机制,线程相比进程来说更轻量。

创建线程比创建进程——开销更小

销毁线程比销毁进程——开销更小

调度线程比调度进程——开销更小

进程包含线程,同一进程里的若干线程之间,共享着内存资源和文件描述符表

每个线程被独立调度执行,每个线程都有自己的状态/优先级/上下文/记账信息

进程是操作系统资源分配的基本单位

线程是操作系统调度执行的基本单位 

Thread常见的构造方法

Thread()                创建线程对象

Thread(Runnable target)                            使用Runnable对象创建线程对象

Thread(String name)                                  创建线程对象,并命名

Thread(Runnable target,String name)        使用Runnable对象创建线程对象,并命名

把t设置为守护进程/后台进程。此时进程的结束与否和 t 无关了。

在真正调用start之前,调用t.isAlive就是false.调用start之后,isAlive就是true

isAlive是在判断,当前系统里面的这个线程是不是针对有了。

另外,如果内核里线程把run干完了,此时线程销毁。pcb随之释放。但是Thread t 这个对象还不一定被释放,此时 isAlive 也是 false。

 中断一个线程

中断的意思是:不是让线程立即就停止,而是通知线程,你应该要停止了,是否真的停止,取决于线程这里具体的代码写法。

1、使用标志位来控制线程是否静止

2、使用Thread自带的标志位进行判定

 

interrupt会做两件事

1、把线程内部的标志为(boolean)给设置为true

2、如果线程在进行sleep,就会触发异常,把sleep唤醒

但是sleep在唤醒的时候,还会做一件事,把刚才设置的这个标志位在设置会false(清空了标志位) 

等待一个线程

线程是一个随机调度的过程,等待线程,就是在控制两个线程的结束顺序。

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

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

相关文章

VPS是什么?详解亚马逊云科技Amazon Lightsail(VPS)虚拟专用服务器

2006年,南非开普敦,亚马逊推出了WBS,以网络服务的形式向企业提供基础的IT服务。亚马逊云科技的一小步,在无数技术更迭,天才设计师和程序员的努力与基础设施建设的完善之下成为了人类科技进展的一大步。 亚马逊云科技可…

层次式架构的设计理论与实践

层次式架构的设计理论与实践 层次式架构概述 层次式架构的定义和特性 定义 特性 层次式架构的一般组成(表现层、中间层、数据访问层和数据层) 表现层框架设计 设计模式 MVC MVP MVVM XML技术 UIP设计思想 表现层动态生成设计思想(基于XML界面管理技术) 中间层架构设计 业务…

.NET开源、跨平台的本地日记APP - SwashbucklerDiary

前言 今天给大家推荐一个.NET开源、跨平台的本地日记APP:SwashbucklerDiary「 侠客日记 」。 项目开发背景 每个人的心底都有一个侠客,如影随风,陪你看过一路的风景,记得你所有的精彩。 使用技术栈 MAUI Blazor Hybrid Masa…

设计模式之中介模式

文章目录 一、介绍二、生活中的中介模式三、中介模式中的角色四、案例演示1. 角色分析 五、优缺点 一、介绍 中介模式(Mediator Pattern),属于行为型设计模式。目的是把系统中对象之间的调用关系从一对多转变成一对一的调用关系,以此来降低多个对象和类…

【C++类的继承、父子类】牛顿插值公式求近似值

/*** file * author jUicE_g2R(qq:3406291309)————彬(bin-必应)* 通信与信息专业大二在读 * * brief Microsoft 源代码注释语言 SAL* * copyright 2023.10* COPYRIGHT 原创技术笔记:转载需获得博主本人同意,且需标明转载源*…

文章分类管理接口

目录 前言 新建表 获取文章分类列表接口 初始化路由模块 将路由对象导出并使用 初始化路由对象处理函数 修改路由代码 导入数据库 定义sql语句 调用db.query() 完整的获取文章分类列表处理函数 新增文章分类接口 定义路由和处理函数 验证表单数据 查询分类名称与…

智能问答技术在百度搜索中的应用

作者 | Xiaodong 导读 本文主要介绍了智能问答技术在百度搜索中的应用。包括机器问答的发展历程、生成式问答、百度搜索智能问答应用。欢迎大家加入百度搜索团队,共同探索智能问答技术的发展方向,文末有简历投递方式。 全文6474字,预计阅读时…

更新电脑显卡驱动的操作方法有哪些?

更新显卡驱动可以有效的提升我们电脑的性能,可以通过设备管理器、显卡驱动软件等方式进行检查驱动是否需要更新,并修复一些电脑上已知的显卡问题。 然而,对于一些不是很懂电脑技术的人员来说,更新电脑显卡驱动是一件比较复杂和混乱…

C/C++字符三角形 2020年12月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C字符三角形 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 C/C字符三角形 2020年12月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 给定一个字符,用它构造一个底边长5个字…

本地websocket服务端暴露至公网访问【内网穿透】

本地websocket服务端暴露至公网访问【cpolar内网穿透】 文章目录 本地websocket服务端暴露至公网访问【cpolar内网穿透】1. Java 服务端demo环境2. 在pom文件引入第三包封装的netty框架maven坐标3. 创建服务端,以接口模式调用,方便外部调用4. 启动服务,出现以下信息表示启动成功…

ChatGPT 与 Python Echarts 完成热力图实例

热力图是一种数据可视化方式,它通过颜色的变化来表示数据的差异和分布。以下是使用热力图的一些作用和好处: 数据可视化:热力图可以将复杂的数据集转化为更直观、更易理解的形式。这对于很多人来说,尤其是那些没有深入统计学或数…

C#序列化与反序列化详解

在我们深入探时C#序列化和反序列化,之前我们先要明白什么是序列化,它又称串行化,是.ET运行时环境用来支持用户定义 类型的流化的机制。序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是在适当的时候把这个文件再…

面试总结之消息中间件

RabbitMQ的消息如何实现路由 RabbitMQ是一个基于AMQP协议实现的分布式消息中间件,AMQP具体的工作机制是生产者将消息发送到RabbitMQ Broker上的Exchange交换机上,Exchange交换机将收到的消息根据路由规则发给绑定的队列(Queue)&am…

不同网段的IP怎么互通

最近在整理工作的时候发现一个不同网段无法互通的问题,就是我们大家熟知的一级路由和二级路由无法互通的问题。由于需要记录整个过程的完整性,这里也需要详细记录下整个过程,明白的人不用看,可以直接跳过,到解决方法去…

传智书城源码+课程设计文档基于JSP+Servlet实现

下载地址: https://juzhendongli.store/commodity/details/19 包括源码参考论文

IDEA 断点高阶

一、按钮介绍 1.1 补充 返回断点处: 设置debug配置: 二、增加/切换debugger视图 三、window快捷键 所在行处: CtrlF8断点属性编辑: CtrlShiftF8 四、一些常用的高级功能 4.1 查看对象内存-Attach memory agent 1.勾选Atta…

PHP与mysql数据库交互

PHP与mysql数据库交互 文章目录 PHP与mysql数据库交互方法速查建立与Mysql链接捕获连接错误SQL语句的执行SQL 错误SQL语句执行结果集对象方法速查 案例 方法速查 函数名 作用 mysqli_connect() 与MySQL 数据库建立连接。 mysqli_close() 关闭与MYSQL 数据库建…

git合并错分支还原技巧

如果合并错了,但是还没有push,还原的简单粗暴的方式就是把合并后的分支删了。 本文主要讲的是git合并错分支并且已经push了的还原方式 比如:开发分支future_1,合并到项目组共同使用的分支develop上了,并且已经push了&…

Java实现SQL分页

在日常开发需要对数据进行分页&#xff0c;配置如下 <!-- baomidou --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.0</version></dependency> 在控…

8.稳定性专题

1. anr https://code84.com/303466.html 一句话&#xff0c;规定的时间没有干完要干的事&#xff0c;就会发生anrsystem_anr场景 input 5sservice 前台20s 后台60scontentprivider超市 比较少见 原因 主线程耗时 复杂layout iobinder对端block子线程同步锁blockbinder被占满导…