关于进程和线程的面试题

在腾讯实习做了点多进程提取特征的工作就往简历上写...其实懂得也不深,自己挖的坑,能填一点是一点吧。

一、进程和线程的区别:

进程是系统进行资源分配和调度的基本单位

线程时操作系统能够进行调度运算的最小单位,被包含在进程之中,是进程中实际运作的单位。

区别:

地址空间和资源:进程间相互独立,同一进程中的各个线程共享,某进程中的线程在其他进程中不可见

通信:进程间通信使用管道等等,线程间可以直接读写进程数据段进行通信(需要同步互斥等锁)保证一致性

调度和切换:线程上下文切换(指的是CPU从一个线程切换到另一个线程)要比进程快

二、进程通信的方法:

管道(pipe)

信号(signal)

消息队列

共享内存

信号量

套接字

三、线程间通信的方法

全局变量

当谈到线程进程时,有一些常见的面试问题可以讨论。下面是一些可能的问题简要的回答: 1. 什么是进程线程进程是操作系统中的一个执行实例,它拥有自己的内存空间、资源执行环境。线程进程中的独立执行单元,共享进程的资源上下文。 2. 进程线程之间有什么区别? 进程是独立的执行实体,拥有自己的地址空间系统资源,而线程进程的一部分,共享相同的地址空间资源。 3. 什么是并发并行? 并发是指多个任务交替执行的能力,而并行是指多个任务同时执行的能力。 4. 线程间如何通信? 线程可以通过共享内存或消息传递进行通信。共享内存允许多个线程访问相同的变量或数据结构,但需要进行同步来避免竞争条件。消息传递是通过发送接收消息来传递数据。 5. 什么是线程同步? 线程同步是确保多个线程按照正确的顺序访问共享资源的机制。常见的线程同步方式包括使用互斥锁、条件变量、信号量等。 6. 什么是死锁? 死锁是指两个或多个线程无限期地等待彼此持有的资源,导致系统无法继续执行。死锁通常发生在多个线程同时请求一组资源,并且每个线程等待其他线程释放其持有的资源。 7. 什么是线程池? 线程池是一组预先创建的线程,用于执行多个任务。它可以提供线程的重用资源管理,减少线程的创建销毁开销。 这些问题只是一些基本的面试题,你可以根据需要进行扩展深入讨论。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值