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

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

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

我:

面试官:

我:

面试官:

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

进程:

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从一个进程或线程切换到另一个进程或线程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值