当前位置: 首页 > news >正文

长宁区网站建设公司建设手机网站培训教程

长宁区网站建设公司,建设手机网站培训教程,给军方做网站套模板行不行,2344网页游戏大全本文参考 1.golang的内存管理分配 golang的内存分配仿造Google公司的内存分配方法TCmalloc算法;她会把将内存请求分为两类,大对象请求和小对象请求,大对象为>32K的对象。 在了解golang的内存分配之前要知道什么事虚拟内存,虚拟内存是把磁盘作为全局…

本文参考

1.golang的内存管理分配

golang的内存分配仿造Google公司的内存分配方法TCmalloc算法;她会把将内存请求分为两类,大对象请求和小对象请求,大对象为>=32K的对象。
在了解golang的内存分配之前要知道什么事虚拟内存,虚拟内存是把磁盘作为全局大内存进行管理,内存是磁盘数据的高数缓存区。操作系统内存管理的基本单位是page,页。文章说的内存哦都市虚拟内存。TCmalloc中span是内存管理的基本单位,他是一连续的page组成,golang也是如此。根据不同作用的span就有不同的span的划分,主要说的三部分:
ThreadCache:线程独有的,不能共享,用于小对象的分配(golang里 main叫mCache)
CentralCache:用于小对象的分配,线程之间可以共享了,当ThreadCache内存不够时会从这里进行申请分配,ThreadCache内存超过阈值进行内存回收时会归还给centralCache。(在golang里面叫mCentral)
page heap:用于大对象的分配,线程之间分配,当centralcache内存不足就回从pageheap申请一个span。(golang里叫mheap)

2gotoutine的实现原理:

参考

答:线程是CPU执行调度的最小单位,goroutine是可以说是一种线程的执行流的结构格式,他是由MPG理论三个部分组成
M:是实在运行的内核线程
P:代表processer,go局部代码的调度器,用来调度协程goroutine,维护上下文,go里可以有多个,可通过 GOMAXPROCS()来设置,默认为核心数
G:代表一个goroutine,它有自己的栈,启动一个goroutine很容易:go function 就行,所以每有一个go语句被执行,
runqueue队列就在其末尾加入一个

在这里插入图片描述

3.锁mutex的两种模式(正常模式和1.9版本之后引入的优化模式-饥饿模式)

饥饿模式目的是保证互斥锁的公平性,防止协程饿死
mutex的结构体又个字端叫state,state=1表示加了锁。当state=0的时候表示可以进行抢锁。正常模式下,等待队列中的第一个协程会和自旋状态的协程(没放进等待队列的协程)进行抢锁,一般都是自旋的协程抢到先,就回造成等到队列的饿死状态,永远等不到。饥饿模式,就是严格的先进先出。但是两种可以相互切换的。
什么时机正常模式切饥饿模式:
当一个Goroutine为了获取锁等待的时间超过了1ms
什么时机饥饿切换正常模式:
1.获得锁的协程等待时间小于1ms
2.等待队列为空

4.在GMP模型中Goroutine有几种状态

在这里插入图片描述
idle:空闲状态,刚刚被分配并且还没有被初始化
runnable:没有执行代码,没有栈的所有权,存储在运行队列中(等待被调度)
running:正在运行。可以执行代码,拥有栈的所有权,被赋予了内核线程M和处理器
syscall:正在执行系统调用。拥有栈的所有权,没有执行用户代码,被赋予了内核线程M,但是不在运行队列上
waiting:运行时被阻塞。没有执行用户代码并且不在运行队列上,但是可能存在于channel的等待队列上
dead:没有被使用,没有执行代码,可能有分配的栈

5.什么是golang的热重启?

热重启要实现:旧版本的程序退出之前,需要重启新版本的,老版本可以继续处理没处理完的请求,新的请求打到新版本的上去。
原理是:信号+fork
1.父进程监听重启信号
2.父进程收到重启信号,调用fork()函数,创建子进程,传递子socket描述符给子进程
3.子进程收父进程的socket描述符,并监听scoket描述符,从而新的请求打到子进程
4.子进程启动完成后,父进程处理完旧的请求
5.父进程退出,子进程替代父进程。

http://www.yayakq.cn/news/347317/

相关文章:

  • 吉安网站建设兼职网站如何做301
  • 智联招聘网站建设点击器 百度网盘
  • 管理登陆网站开发软件长沙做网站的公司
  • 做网站手机端需要pc端的源代码吗陕西网站建设网络公司
  • 住建培训网站哪里可以免费发广告
  • 旅游电子商务网站建设的流程wordpress注册模板下载
  • 巴中手机网站建设优化网站关键词
  • 网站程序上传站长收录
  • 长沙销售公司 网站二级医院网站建设的方案
  • 湖北高企达建设有限公司网站深圳建设银行宝安支行网站
  • 学校门户网站是什么意思网站建设高端培训
  • 网站建设各个模块的功能网站业务费如何做记账凭证
  • 网站文章更新怎么做做收钱的网站要什么条件
  • 如何使用上线了app建设网站抓取网站访客qq号码
  • 起零网站建设深圳品牌网站制作公司
  • 手机营销网站模板免费下载内蒙古有做购物网站的吗
  • 中企动力网站开发做中介网站需要多少钱
  • 网站开发 瀑布结构环保网页设计制作流程
  • 网站原则佛山专业网站建设公司推荐
  • 福建省龙岩市建设培训中心网站设置WordPress注册
  • 厦门建网站做优化零基础电商怎么做
  • 可以做外包的网站怎么个人网站设计
  • php网站开发入门到精通教程百色做网站
  • 织梦 网站无法显示该页面大型网站开发合同
  • 友链网站企业网站策划案
  • phpcms中英文网站模板网站开发到上线的流程
  • 西安网站建设itcandy全球虚拟主机论坛
  • wordpress安装指令seo做的比较好的网站的几个特征
  • 创业做网站失败直播视频素材
  • 自己做的网站怎么爬数据网站建设es158