推广 热搜: csgo  vue  angelababy  2023  gps  新车  htc  落地  app  p2p 

大厂多线程面试必问 问题剖析

   2023-08-12 网络整理佚名1590
核心提示:多进程和多线程的应用场景·一个进程至少有一个线程(主线程)。资源分配:资源分配的基本单位是进程,而线程是调度的基本单进程与进程之间是独立的,一个进程的异常终止不会影响其它进(nginx多进程的方案),而线程与线程之间大部分是共享的,的异常终止会影响其它线程,会使进程终止。调度和切换:线程上下文切换比进程上下文切换要快得多。一个子线程终止一般不会影响其他线程,除非子线程执行了exit用。

前言

一起学习的可以后台私信“资料”发送学习视频资料包括C/C++、Linux、技术、Nginx、MySQL、Redis、、、ZK、流媒体、CDN、P2P、K8S、、TCP/IP 、协程、DPDK等。 。 ),免费分享

多进程、多线程应用场景

多处理和多线程的优缺点

协程框架你敢用吗?

线程池:计算密集型N+1线程

2*N的10个密集行是怎么来的,又是怎么计算出来的?

多进程nginx

多线程redis 6.0,

为什么nginx选择多进程http服务器? 不同的进程不需要配合。 多进程的通信效率低于多线程。

redis ------io线程--------数据结构操作多线程需要协作无需多线程容易共享资源更高效

多进程、多线程创建的开销确实非常高。 线程协程的问题

创建和销毁进程、线程耗时对比

1-.c 1-.c

简单创建进程线程(10万次)

实时:实际使用时间

为什么要引入线程?

为什么要引入线程? - 线

并发实体尝试尽可能多地共享进程资源,例如共享地址空间。 共享一个页表和一块物理内存。

线程的概念

线程概念

线程是进程内的一系列控制。 控制序列可以理解为一行行流。进程内部指的是虚拟地址空间

· 一个进程至少有一个线程(主线程)。

进程到线程

进程:负责分配系统资源的实体

线程:共享进程获取的资源

图中有3块PCB。 在之前的认知中,我们称其为3个过程。

Linux使用的线程库

它是一个用户空间的线程库,采用线程-进程1对1的模型(即用户线程对应轻量级进程,轻量级进程对应内核调度器),线程调度为相当于进程的调度是由内核完成的,而线程的创建、同步、销毁则是由核外线程库(已绑定GLIBC释放)来完成。

Linux内核源码场景分析(毛德操)

线程和进程的区别1

资源分配:资源分配的基本单位是进程,线程是调度的基本单进程,进程之间是独立的。 一个进程的异常终止不会影响其他进程(nginx多进程解决方案),而线程大部分时候是共享的,线程的异常终止会影响其他线程,导致进程终止。

线程大部分是与线程共享的,但有些数据是私有的,例如线程ID、上限(切换时寄存器中的值)、堆栈空间、错误代码、消息和调度优先级。

调度和切换:线程上下文切换比进程上下文切换快得多。

线程和进程的区别2

● 各个进程完全独立,而线程则相互依赖。 多进程环中任何一个进程的终止都不会影响其他进程。

在多线程环境中,当父线程终止时,所有子线程都被强制终止(没有资源)。 子线程的终止一般不会影响其他线程,除非子线程执行了exit函数。 任何子线程执行exit(),所有线程同时死亡。

总结:

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报
Powered By DESTOON