首页 > 其他分享 >进/线/协程--引自阿秀的学习笔记

进/线/协程--引自阿秀的学习笔记

时间:2023-12-12 17:36:08浏览次数:24  
标签:协程 -- 创建 中断 线程 进程 阿秀

进程、线程与协程区别

1、进程是资源分配的基本单位,运行一个可执行程序会创建一个或多个进程,进程就是运行起来的可执行程序

2、线程是资源调度的基本单位,也是程序执行的基本单位,是轻量级的进程。每个进程中都有唯一的主线程,且只能有一个,主线程和进程是相互依存的关系,主线程结束进程也会结束。

3、线程共享  堆、全局变量、静态变量、指针,引用、文件等,而独自占有栈

一个进程可以创建多少线程,和什么有关?

  • 如果是32 位系统,用户态的虚拟空间只有 3G(3072M),如果创建线程时分配的栈空间是 10M,那么一个进程最多只能创建 300 个左右的线程。
  • 如果是64 位系统,用户态的虚拟空间大到有 128T,理论上不会受虚拟内存大小的限制,而会受系统的参数或性能限制。

过多的线程将会导致大量的时间浪费在线程切换上,给程序运行效率带来负面影响,无用线程要及时销毁

外中断和异常有什么区别?

  外中断是指由 CPU 执行指令以外的事件引起,如 I/O 完成中断,表示设备输入/输出处理已经完成,处理器能够发送下一个输入/输出请求。此外还有时钟中断、控制台中断等。

  异常时由 CPU 执行指令的内部事件引起,如非法操作码、地址越界、算术溢出等

进程线程模型

 

标签:协程,--,创建,中断,线程,进程,阿秀
From: https://www.cnblogs.com/gpf1997/p/17897381.html

相关文章

  • centos7搭建kubernetes-v1.25.1集群(Containerd作为运行时)
    集群配置节点名称内存硬盘处理器内核总数ipmaster6GB40GB6192.168.67.166node16GB40GB6192.168.67.167node26GB40GB6192.168.67.168一、所有节点更改镜像源curl-o/etc/yum.repos.d/CentOS-Base.repo二、所有节点安装docker,注意:K8s在1.24以上......
  • 2023年的PHP项目部署笔记。什么?还有人用PHP?
    前言这是我第一次用PHP的包管理工具composer一开始用docker进行部署,但一直出问题,最后还是选择直接在服务器上安装php-fpm搭配nginx的方案了。PS:docker方式真的搞得心好累,现在回想起来还心有余悸......
  • [NOIP2010 提高组] 关押罪犯 - 洛谷
    P1525[NOIP2010提高组]关押罪犯-洛谷|计算机科学教育新生态(luogu.com.cn)种类并查集#include<bits/stdc++.h>#definedebug(a)cout<<#a<<"="<<a<<'\n';usingnamespacestd;usingi64=longlong;typedefpair<i64,i64>......
  • 12.11 迪杰斯特拉方法实现最短路径(c++)
     今天通过自主学习,,对数据结构中的迪杰斯特拉方法实现最短路径进行了深造,让我学会了很多新的东西。首先是问题描述:用迪杰斯特拉算法实现有向网的最短路径输入格式:第一行输入有向网的顶点和边数,第二行输入各顶点值,用空格间隔,第三行开始输入各条边的两个点的及边上的权值,用空......
  • C++ Qt开发:SpinBox数值微调框组件
    Qt是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍QSpinBox精度数值组件的常用方法及灵活运用。QSpinBox是Qt框架中的一个部件(Widget),用于提供一个方......
  • response resul
     配置响应公共代码和消息SUCCESS(200,"成功"),FAIL(201,"失败"),PARAM_ERROR(203,"参数错误"),DATA_ERROR(204,"数据异常"),ILLEGAL_REQUEST(205,"非法请求"),REPEAT_SUBMIT(206,"重复提交"),LOGIN_AUTH(208,"未登陆"),PERMISSION......
  • 在 Sealos 中使用区块链技术实现统一支付系统
    拿着区块链技术不一定是去发币,很多业务系统也适合用这些技术,比如做个统一支付系统,积分系统等,可以做为一家公司的金融基础设施,或支付中台。拿链的技术去做有很多好处:高可用,自带多区域高一致性的能力,自带高可用能力和校验能力。安全,很大程度防范黑客或者用户篡改资金账户的可能性......
  • .net批量插入到oracle数据库--三种方式对比,亲测
    根据上篇的内容,简单测试了三种方式的对比,需要使用的,请自行根据需求优化。。。上篇文字网址:https://www.cnblogs.com/ggll611928/p/17897005.html 1、创建测试表CREATETABLET_TEST(IDNUMBER(9)notnull,NAMENVARCHAR2(30)notnull,AGENUMBER(2)......
  • Mysql count(*)、count(1)、count(主键)、count(普通字段) 性能对比
    count(*):底层会转化为count(0)来处理,默认横向扫描聚集索引树,如果有二级索引就扫描二级索引树(因为二级索引树更小,扫描成本低),扫描到一行记录之后,将该记录返回给Server层,由于参数是0,不为NULL,所以不需要读取记录中的任何字段,直接将 count变量加1count(1):处理......
  • 使用 AWS Go SDK 读取审计日志(CloudTrail)
    背景公司的海外业务需要将云上的操作读取到内部的日志文件中,永久保存,供内部审计使用。由于之前没有用过AWS相关的SDK,在使用过程中也遇到一些困难,这里记录一下,并且总结一下过程。代码快速开始代码参考地址:https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/go/examp......