前言
一起学习的可以后台私信“资料”发送学习视频资料包括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(),所有线程同时死亡。
总结: