浅谈单线程和多线程的异同

news2024/11/16 7:33:00

前两天有个面试,面试官问了我一个单线程和多线程的问题,情境如下:

面试官:你对单线程和多线程有什么看法?

我:

面试官:

我:

面试官:

现在先让我们来了解一下进程和线程的基本概念:

进程:

1、进程是程序的一次执行;

2、进程是一个程序及其数据在处理机上顺序执行时所发生的活动;

3、进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个基本单位。

注:进程和程序是不同的概念,进程是动态的,程序是静态的;进程是程序执行的外在表现,是对跑起来的程序的管理。

进程的特征:

1、动态性:进程是程序的执行过程,因此具有动态性。

2、并发性:指进程同时存在内存中,且能够在一段时间内同时运行。(并发强调段,并行强调点)

3、独立性:指进程实体是一个能独立运行、独立获得资源和独立接受调度的基本单位。

4、异步性:指进程按照异步方式运行的,即按各自独立的、不可预知的速度向前推进。

进程的基本状态:

1、就绪态(ready):指进程处于准备好运行的状态,即进程已经得到了除CPU以外所有的必要资源。

2、执行态(running):指进程获得了CPU,其程序正处于执行的状态。

3、阻塞态(block):指正在执行的进程由于发生某事件(如I/0请求、申请缓冲区失败等)暂时无法继续执行时的状态。

进程的三种基本状态的转换:

线程:

问题:

1、为什么有了进程之后,还需要有线程?

一些小知识点:

创建线程的三种方式:https://blog.csdn.net/sinat_27933301/article/details/69944286

上下文切换(Context Switch):也称为PCB(进程控制块),性质为环境切换。有时也称做进程切换或任务切换,是指CPU从一个进程或线程切换到另一个进程或线程。

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

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

相关文章

WS协议—介绍及原理

举例来说,我们想了解今天的天气,只能是客户端向服务器发出请求,服务器返回查询结果。HTTP 协议做不到服务器主动向客户端推送信息。 WebSocket 协议在2008年诞生,2011年成为国际标准。所有浏览器都已经支持了。它的最大特点就是&…

ms17_010(永恒之蓝)漏洞复现详细教程

如题,这是个漏洞复现的详细教程,本教程针对的系统是Windows7操作系统,其他系统请自行测试。 备注:教程会很详细,讲解会很明白,一文可以解决你的常见困难。 测试环境 kalilinux 192.168.1.109 (…

Java设计模式之结构型-装饰器模式(UML类图+案例分析)

目录 一、基本概念 二、角色设计 三、代码实现 案例一 案例二 四、总结 一、基本概念 装饰器模式是指不必在改变原有的类和不使用继承的情况下,动态扩展一个对象的功能。 二、角色设计 角色描述抽象构件是一个接口或者抽象类,定义我们最核心的…

科技云报道:边缘计算步入“黄金年代”

科技云报道原创。 当前时点,AI大模型已经站在了从“玩具”向“工具”快速演化的关键迭代期。如何让大模型渗透进入各类垂直场景,如何更低成本的使用大模型,如何让更多场景与用户接触AI,成为了发展的下一个重点。 在AI向实际场景…

大数据应用——总结与反思

1.谈谈你对大数据行业的认识,目前对应的大数据岗位有哪些?每种岗位需要掌握哪些技能水平?目前自己的差距在哪里? (1)概述 对于大数据行业的认识,我的理解是,大数据是指海量数据&…

8种常见的SQL错误用法

前言:MySQL在2016年仍然保持强劲的数据库流行度增长趋势。越来越多的客户将自己的应用建立在MySQL数据库之上,甚至是从Oracle迁移到MySQL上来。但也存在部分客户在使用MySQL数据库的过程中遇到一些比如响应时间慢,CPU打满等情况。现将《Apsar…

Dumuz同步微信通讯录及常见问题

在Dumuz工具中,【微信通讯录同步】主要功能是从当前登录的微信上下载通讯录相关成员数据。 第1步: 打开应用【微信-消息批量发送】,在工具栏中点击【微信通讯录】如下图所示: 第2步: 进入【微信通讯录】 对话框&#…

【AUTOSAR】AUTOSAR开发工具链(九)----基于BTC的MIL/SIL测试操作说明(1)

一、BTC使用注意事项 1、安装成功后,在Edit->Preference->General->Compiler可以找到编辑器MSVC140 启动BTC:插入电子狗、选择与电子狗相匹配的License、选择相应的工具包 B2B就是MIL V SIL 适用于MBD开发的测试,单独SIL适用于手写…

【Jmeter教程】__将提取的参数并设置成全局变量(常用于提取token)

目录 一、提取参数 1、使用正则表达式提取器提取token 2、使用json提取器提取token 二、将提取参数设置成全局变量 三、常见问题 一、提取参数 1、使用正则表达式提取器提取token 查看登录响应参数找出token。图中token为 "ticketString": "ccf26b17-a96f…

深入理解MySQL主从配置原理

目录 1. MySQL主从复制原理工作原理 2. 主从配置步骤1: 配置主节点2: 备份主节点数据3: 配置从节点4: 启动主从复制 3.常见问题4. 需要考虑的一些因素 MySQL主从复制是一种数据库复制技术,通过将一个MySQL服务器(主节点)上的数据同步到其他My…

IP地点定位为什么有误差?

随着互联网的不断普及,人们对IP地点定位需求越来越多。然而,即便是在现代技术的支持下IP地点定位仍然存在误差。那么,IP地点定位为什么会出现误差呢? IP(Internet Protocol)地址是指互联网协议(…

SpringCloudSpringcloudAlibaba

SpringCloud 一:微服务架构1.1 ESB1.2 微服务与微服务 二 :编写SpringCloud代码2.1 父模块SpringCloudDemo项目2.2 公共类模块SpringCloud-api项目2.3 消费模块SpringCloud-user-8001项目2.4 RestTemplate 三:注册中心:Eureka3.1 …

机器学习——Kmeans算法

一、实验目的 学习sklearn模块中的KMeans算法 二、实验内容 学习KMeans算法,了解模型创建、使用模型及模型评价等操作 三、实验原理或流程 实验原理: K-means算法是将样本聚类成k个簇(cluster),具体算法描述如下: 1、随机选取k个聚类质…

春招上岸阿里,好多问题当场尬住!

一个粉丝,23年应届毕业生, 双非本科。最近他校招上岸了,拿到了阿里软件测试岗位的Offer。 他总结了一下面试题,感觉很多内容还是有难度的,尤其是对于应届生来说。下面是他整理的面试题,看看这种校招面试难…

sonarqube本地安装使用

sonarqube本地安装使用 sonarqube本地安装使用配置 官网网址:https://www.sonarqube.org/ 注意:sonarqube版本需要与jdk和数据库版本相对应,以及sonarqube对应电脑的位数 本案例中:JDK8、sonarqube7.6版本 在说明文档中可以…

svg图版绘制

推荐工具:Inkscape 绘制带折线的图版,使用左侧工具栏(绘制贝塞尔曲线和直线) 选中顶部(创建一个直线段构成的折线) 直接使用鼠标左键点对点进行绘制,停顿一次为一个坐标,鼠标右击…

软件测试技能,JMeter压力测试教程,setUp线程组实现用户先登录(八)

前言 在接口测试的时候,很多接口都需要用户先登录,才有访问接口的权限。在测试的时候,我们的关注点其实是当前测试的接口,登录只是一个前置操作 像 python 的 unittest 和 pytest 框架都有 setUp 的概念,前置操作用来…

探究物流机器人产业新发展

原创 | 文 BFT机器人 01 我国物流机器人发展现状 机器人人工智能加速了物流行业的发展,优化和提高了物流资源、物流流程和物流效率。 近年来,机器人相关产品和服务得到了快速推广,并经常应用于不同的存储和物流场景,如电子商务存储…

InternalAuthenticationServiceException: Invalid bound statement (not found):

InternalAuthenticationServiceException: Invalid bound statement (not found): 在项目中,我们会遇到如下问题,但是这个问题是一种常见的典型问题 org.springframework.security.authentication.InternalAuthenticationServiceException: Invalid boun…

SciencePub学术 | 纳米技术类重点SCIEEI征稿中

SciencePub学术 刊源推荐: 纳米技术类重点SCI&EI征稿中!1区正刊,进展顺利、录用快。信息如下,录满为止: 一、期刊概况: 纳米技术类重点SCI&EI 📌【期刊简介】IF:6.0-6.5,…