进程和线程理论知识

news2024/9/22 23:32:28

1.进程和线程之间的联系。

进程是程序依次执行的过程,线程是比进程小的执行单位。

一个进程在其执行过程中可以创建多个线程。

多个线程共享进程的堆和方法区内存资源。

进程是OS进行资源分配的基本单位。

线程是OS进行调度的基本单位。

进程和线程是1:m关系。


2.线程的状态有6种:

分别是初始状态、运行状态、阻塞状态、等待状态、超时等待状态和终止状态。

3.为什么需要使用多线程?

线程是程序执行的最小单位,多个线程同时运行可以减少线程上下文切换的开销,多线程是开发高并发系统的基础(即允许同一时间段执行多个任务),利用好多线程机制可以很好的提升系统的并发能力和性能。

4.创建线程的方式

①继承Thread,重写run();②实现Runnable接口;③实现Callable接口。

5.关键字volatile有哪两个作用?

关键字volat的作用:保证变量的可见性,以及防止指令进行重排序优化。

 6.关键字volatile的使用需要满足什么条件?

使用关键字volatile的变量必须满足两个条件:

①对变量的写入操作不依赖于变量的当前值。能够确保只有单个线程更新变量的值。

②该变量没有包含在具有其他变量的不变式中。

 

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

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

相关文章

GPU编程实战1

给一张测试图,对测试图分别cpu和GPU进行处理,进行时间统计,最后做展示。 环境:win10 cuda11.3 python3.7 numba 等 硬件:cpu:i59400 ,gpu:RTX1650 4G 首先进行cuda安装,cuDNN等的安装,参考该…

和年薪30W的阿里测开工程师聊过后,才知道我的工作就是打杂的...

前几天和一个朋友聊面试,他说上个月同时拿到了腾讯和阿里的offer,最后选择了阿里。 阿里内部将员工一共分为了14个等级,P6是资深工程师,P7是技术专家。 其中P6和P7就是一个分水岭了,P6是最接近P7的不持股员工&#x…

720°VR全景家装设计,为传统行业注入新生命力

导语:VR全景家装是一种基于虚拟现实技术的新型家居装修方案,可以通过虚拟现实技术让用户更真实地体验家居装修效果,避免了传统装修中的繁琐流程和不可预知的风险。近几年来,VR全景装修盛行,打破传统二维空间模式&#…

【ArcGIS学习记录01】--利用CRU TS数据集绘制降雨量分布图

【ArcGIS学习记录01】–利用CRU TS数据集绘制降雨量分布图 注:仅作为本人的学习记录方便以后复习查阅。 一、介绍 CRU TS 是目前使用最广泛的气候数据集之一,由英国国家大气科学中心 (NCAS) 制作。简而言之我们能在CRU TS官网上获得几乎各个研究领域能…

[Java基础]—JDBC

前言 其实学Mybatis前就该学了,但是寻思目前主流框架都是用mybatis和mybatis-plus就没再去看,结果在代码审计中遇到了很多cms是使用jdbc的因此还是再学一下吧。 第一个JDBC程序 sql文件 INSERT INTO users(id, NAME, PASSWORD, email, birthday) VAL…

LeetCode 2 - 两数相加

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开…

常用基础硬件知识 - 判断MOS管导通

目录1. 概述2. 判断MOS管的导通1. 概述 本文主要记录下基础的硬件知识,方便自己查阅。 2. 判断MOS管的导通 在产品硬件设计中,有时需要程序控制一些电源使能。 1.原理图已经标出了G极(gate)—栅极、S极(source)—源极、D极(drain)—漏极。 如果没有标…

「基础篇」机器学习概览

文章目录1. 什么是机器学习2. 引入机器学习3. 应用场景4. 机器学习分类4.1. 有无人类监督4.2. 是否增量学习4.3. 泛化方式5. 主要挑战6. 测试与验证1. 什么是机器学习 机器学习(Machine Learning,ML)是一个研究领域,让计算机无需…

Mac item2 配置免密登录开发机

1、配置 vi ~/.ssh/config 内容如下: Host * ControlMaster auto ControlPath ~/.ssh/master-%r%h:%p ControlPersist yes ServerAliveInterval 60 学习: ControlMaster #连接共享 ControlPath #与ControlMaster一起使用,指定连接共享的路径…

log4j控制台不打印日志的故障解决方案

前言 接管了别的项目组的一个代码,在IDAE调试程序的过程中,发现log4j日志居然没有打印在控制台上,日志相关代码也没有问题。 在网上搜索了一圈,总结了一下个人解决这个问题的流程。 流程 1. 判断用了什么配置文件 不知道是出…

线程池的使用——线程池的创建方式

线程池的使用——创建线程线程池的创建线程池的创建方式Executors.newFixedThreadPool:Executors.newCachedThreadPool:Executors.newSingleThreadExecutor:Executors.newScheduledThreadPool:Executors.newSingleThreadScheduled…

24- 深度学习的模型保存和加载 (TensorFlow系列) (深度学习)

知识要点 keras 保存成hdf5文件, 1.保存模型和参数, 2.只保存参数 1.保存模型和参数 save_modelcallback ModelCheckpoint2. 只保存参数 save_weightscallback ModelCheckpoint save_weights_only True 保存模型: 案例数据: Fashion-MNIST总共有十个类别的图像model.save_w…

spark graph基础(一)

1 overView 1.1 图的构成 图由节点和边组成,其中VertexRDD[VD] 和EdgeRDD[ED] 继承和优化了 RDD[(VertexId, VD)] 和RDD[Edge[ED]] 。 class Graph[VD, ED] {val vertices: VertexRDD[VD]val edges: EdgeRDD[ED] }1.2 图使用示例 如下图所示,使用spa…

Typro使用以及安装教程来啦

Typora是一款轻便简洁的Markdown编辑器,支持即时渲染技术,这也是与其他Markdown编辑器最显著的区别。即时渲染使得你写Markdown就想是写Word文档一样流畅自如,不像其他编辑器的有编辑栏和显示栏。今天为大家分享下有关Typroa的安装以及使用&a…

TryHackMe-黑我杯

黑我杯 相信我们大家在TryHackMe的日积月累都学到了不少东西,从纯萌新到oscp再到更高 我很高兴能将国内各thm玩家聚集到一起,构建一个更好的学习环境和氛围 本次娱乐分两场: Offensive Pentesting — 中等难度Junior Penetration — 容易难…

@Autowired和@Resource到底有什么区别

Autowired 和 Resource 都是 Spring/Spring Boot 项目中,用来进行依赖注入的注解。它们都提供了将依赖对象注入到当前对象的功能,但二者却有众多不同,并且这也是常见的面试题之一,所以我们今天就来盘它。 Autowired 和 Resource 的…

Linux 确认 NTP 是否同步成功

NTP 即Network Time Protocol,它通过网络同步计算机系统之间的时钟。NTP 客户端会将其时钟与 NTP 服务器同步。NTP同步状态可以通过以下三个命令查询:ntpq:ntpq 是标准的 NTP 查询程序。ntpstat:显示网络时间同步的状态。timedate…

【房间墙上凿个洞,看你在干嘛~】安全攻防内网渗透-绕过防火墙和安全检测,搭建DNS隐蔽隧道

作者:Eason_LYC 悲观者预言失败,十言九中。 乐观者创造奇迹,一次即可。 一个人的价值,在于他所拥有的。所以可以不学无术,但不能一无所有! 技术领域:WEB安全、网络攻防 关注WEB安全、网络攻防。…

Spark 广播/累加

Spark 广播/累加广播变量普通变量广播分布式数据集广播克制 Shuffle强制广播配置项Join Hintsbroadcast累加器Spark 提供了两类共享变量:广播变量(Broadcast variables)/累加器(Accumulators) 广播变量 创建广播变量…

快速上手配置firewalld

firewalld使用firewall-cmd命令配置策略。 查看当前firewalld当前服务运行状态 firewall-cmd --state firewalld防火墙状态还用使用如下命令查看状态 systemctl status firewalld 查看所有打开运行的端口 firewall-cmd --zonepublic --list-ports 查看区域信息情况 firewall…