自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 资源 (46)
  • 收藏
  • 关注

原创 深入理解Golang Channel

Golang使用Groutine和channels实现了CSP(Communicating Sequential Processes)模型,channles在goroutine的通信和同步中承担着重要的角色。在GopherCon 2017中,Golang专家Kavya深入介绍了 Go Channels 的内部机制,以及运行时调度器和内存管理系统是如何支持Channel的,本文根据Kavya的ppt学习和分析一下go channels的原理,希望能够对以后正确高效使用golang的并发带来一些启发。以..

2021-10-25 20:20:34 207

原创 Golang 协程调度

一、线程模型N:1模型,N个用户空间线程在1个内核空间线程上运行。优势是上下文切换非常快但是无法利用多核系统的优点。 1:1模型,1个内核空间线程运行一个用户空间线程。这种充分利用了多核系统的优势但是上下文切换非常慢,因为每一次调度都会在用户态和内核态之间切换。(POSIX线程模型(pthread),Java) M:N模型, 每个用户线程对应多个内核空间线程,同时也可以一个内核空间线程对应多个用户空间线程。Go打算采用这种模型,使用任意个内核模型管理任意个goroutine。这样结合了以上两种模型的

2021-10-25 19:09:41 473

原创 Golang调度机制

首先golang中协程golang是用户线程与系统线程的对应关系是多对多,既能利用多核cpu资源,也能尽可能减少上下文切换成本,代价是go需要实现复杂的goroutine调度机制。N:1,所有用户线程对应1个系统线程,无法利用多核cpu;1:1,1个用户线程对应一个系统线程,上下文切换成本高。调度逻辑四个结构体M:Machine,操作系统线程。一个M被创建后会在P空闲队列中获取P进行绑定,未绑定则进入阻塞状态。P:Process,调度器的核心处理器。通常表示执行上下文,P用于绑定

2021-10-25 19:08:57 335

原创 图示Golang垃圾回收机制

垃圾回收概念程序创建对象等引用类型实体时会在虚拟内存中分配给它们一块内存空间,如果该内存空间不再被任何引用变量引用时就成为需要被回收的垃圾。操作系统会记录一个进程运行时的所占用的内存、CPU和寄存器等资源,当进程结束后便由操作系统能够自动回收资源。但是对于一个运行较长时间的程序,如果使用完内存资源后没有及时释放就会造成内存泄漏甚至系统错误。以不支持自动垃圾回收的C++为例:void foo(){ char *p = new char[128]; // 对指针的使用 delet..

2021-10-22 01:38:29 469

原创 图解Go语言内存分配

Go语言内置运行时(就是runtime),抛弃了传统的内存分配方式,改为自主管理。这样可以自主地实现更好的内存使用模式,比如内存池、预分配等等。这样,不会每次内存分配都需要进行系统调用。Golang运行时的内存分配算法主要源自 Google 为 C 语言开发的TCMalloc算法,全称Thread-Caching Malloc。核心思想就是把内存分为多级管理,从而降低锁的粒度。它将可用的堆内存采用二级分配的方式进行管理:每个线程都会自行维护一个独立的内存池,进行内存分配时优先从该内存池中分配,当内存..

2021-10-09 00:44:31 278

《TCP IP详解》全三卷 中文有书签 不分割

中文名: TCP/IP详解 英文名: TCP/IP Illustrated 版本: PDF 地区: 大陆 对白语言: 普通话 完整的电子书,不像其他的资源分成了很多pdf。

2014-07-07

汇编语言程序设计(布鲁姆 马朝晖)光盘源代码

汇编语言程序设计(布鲁姆 马朝晖)光盘源代码,从wrox官网上下载的

2014-04-17

阿里巴巴2014笔试题(客户端)

阿里巴巴2014笔试题(客户端),内部资料大全,经典

2014-04-13

1000多种java算法大全源码包

1000多种java算法大全源码包,最新完全版

2014-04-13

9款精挑细选的HTML5应用源码

9款精挑细选的HTML5应用源码,经典,最新完全版

2014-04-13

提高C++性能的编程技术.pdf

提高C++性能的编程技术 —电子工业出版社 。版权属于原作者,仅供学习交流。 本书揭示了C++开发高效应用的潜力,向广大读者展示了大量实用的C++面向对象编程技术

2014-04-09

linux2.6.1内核源码注释

包含LINUX内核同步、信号、内存、调度、文件系统、网络系统、时钟等部分的源码注释。前后历时三年,算是干货。

2014-04-09

Java 程序员面试宝典+题集(最新)

Java程序员面试宝典+题集(最新)0积分

2014-04-09

Visual C++ 编程技巧精选500例 - [罗斌].pdf

Visual C++ 编程技巧精选500例 - [罗斌].pdf

2014-04-09

改变未来的九大算法,完整扫描版

Google得出的搜索结果是如何产生的? 百度为何会陷入“搜索门”,又是什么机制使然? 身处在大数据时代的我们,究竟该如何应对变化莫测的世界? …… 没有满篇的专业术语,第一次让我们通过简单明了的语言、生动的例证了解支撑计算机王国的灵魂支柱——9大算法,包括人工智能、数据压缩,以及Google著名的PageRank等。 本书精彩地介绍了搜索引擎、PageRank、公开密钥加密、纠错码、模式识别、数据压缩、数据库、数字签名等内容。 在解释这些算法的同时,作者也向我们展示了充满科学原创精神的计算机世界:因为每一种算法的提出不但延伸了虚拟世界的领域,同时也是人类智慧的彰显,可以被广泛运用于众多领域。 在读完本书后,你不会成为一名更加熟练的计算机用户,但你会更珍视自己每天在所有计算设备上不停使用的思想的美。 我们每天都会进行多次搜索查询,但是你想过这个令人惊叹的工具是如何奏效的吗? 谷歌的精英管理层因为谷歌“以超乎寻常的技巧返回相关度极高的结果”而获奖,他们是怎么做到的? 本书将带你一探究竟。

2014-04-08

软件开发者路线图:从学徒到高手

《软件开发者路线图:从学徒到高手》完整版,以前下载过6.3M那种,只有1、2章,此为完整版,旨在分享好东西

2014-04-08

JavaScript、Css2.0、Css3.0、Jquery、html5等各种中文手册打包放送

CSS 2.0 中文手册.chm CSS 3.0参考手册.chm JavaScript核心参考手册.chm jQuery1.7 中文手册.chm w3c标准html5手册.chm W3CSchool.chm XMLHttp中文参考手册.chm

2014-04-04

java学习笔记总结

自己几个月的学习总结,一些解决问题的办法,很实用,希望对大家有所帮助!

2014-04-04

项目管理七杯茶,完整扫描版

感谢读秀,感谢共享的互联网精神,图书馆文献传递实在太好了。 整个世界,由无数个项目组成,没有项目管理,我们现实中的许多事物将不复存在 项目管理已渗透于方方面面,像空气中的氧气,你甚至感觉不到它的存在,但却离不开它…… 第一杯茶,从寻觅洞庭碧螺春的踪迹中,探索项目启动式的奥秘; 第二杯茶,在七泡安溪铁观音的余韵里,研制关键路径图的技巧; 第三杯茶,谷雨前六安瓜片的珍奇,品味资源控制之重; 第四杯茶,清明前西湖龙井的雍贵,赏鉴时间管理之威; 第五杯茶,沉浸于祁门红茶的优雅从容,体会人事权责守恒; 第六杯茶,惊喜于君山银针的起伏奇观,感慨风险变化无常; 第七杯茶,将所有一切归档,如云南普洱般历久弥香……

2014-04-03

微信管家YYUC框架开发手册

为了能让更多人看明白微信管家的开发模式,在此分享YYUC框架开发手册,谢谢大家支持

2014-04-03

消灭星星源码

本人使用cocos2dx开发的消灭星星源码,已在android平台测试过

2014-04-03

W3School离线手册(2014.3.24)

w3school离线手册,2014.3.24网站下载整理制作的chm。 要是有些人碰到chm打开空白的: ①首先,右击->属性,看是否有“解除锁定”(属性框的最下面)按钮。若有,解锁(未解锁,通常可以打开.chm但显示无法连接). ②再不行就把这个chm反编译吧,我没做限制措施。

2014-04-03

DELPHI XE5 UP2 破解

官网下载地址: http://altd.embarcadero.com/download/radstudio/xe5/delphicbuilder_xe5_upd2_win.iso 安装序列号 HNFK-BCN8NN-78N53D-H4RS 架构师版(14天试用) 破解办法 破解EXE 放在BIN 目录下然后依次从上到下的顺序点3个按钮破解完成

2014-04-03

Google官方下拉刷新组件SwipeRefreshLayout

SwipeRefreshLayout字面意思就是下拉刷新的布局,继承自ViewGroup,在support v4兼容包下,但必须把你的support library的版本升级到19.1。 提到下拉刷新大家一定对ActionBarPullToRefresh比较熟悉,而如今google推出了更官方的下拉刷新组件,这无疑是对开发者来说比较好的消息。

2014-04-03

软件管理沉思录:SEI的项目管理、人际沟通和团队协作要诀,完整扫描版

本书为软件工程领域权威人士之作,书中首先深入讲解了计划类型和计划过程,接着分析了项目团队建设和激励,然后描写了如何与经理共事,如何说服他们采用最佳实践,最后探讨了个人职责、承诺和过程。 本书适合软件项目管理人员阅读。

2014-04-03

控制台小游戏之《推箱子》及关卡地图编辑器

压缩包包含控制台版本的《推箱子》游戏及关卡地图编辑器的源代码及可执行程序;你没有看错,它是基于控制台的,画面是“字符模式”的,如果你是画面党就要慎重下载了;尽管它是个控制台程序,相比你以前可能玩过的是有些不一样的,它的“画面”并不差也不抽象,操作也不需要输入任何命令行等繁杂步骤,与其他2D游戏一样,有组成完整游戏的各个子画面;除此之外,提供了一个地图编辑器,可提供玩家自行设计关卡。

2014-04-03

MVC5 + EF 6 + Bootstrap 2 权限管理系统

MVC5 + EF 6 + Bootstrap 2 权限管理系统

2014-04-02

Android ADT-22.6.2下载最新版

Android ADT-22.6.2下载最新版

2014-04-02

QQDemo(翻转,小键盘,系统设置等,基于duiengine)

QQDemo(翻转,小键盘,系统设置等,基于duiengine)

2014-04-02

计算机图形学(第三版)Donald Hearn 蔡士杰译 课后习题答案(第三章)

计算机图形学(第三版)Donald Hearn 课后习题答题(第三章)

2014-03-31

计算机图形学(第三版)Donald Hearn 课后习题答题

计算机图形学(第三版)Donald Hearn 课后习题答题

2014-03-31

linuxKernel核心中文手册core.chm

linuxKernel核心中文手册core.chm

2014-03-28

傅 彦:离散数学及其应用习题解析.pdf

傅 彦:离散数学及其应用习题解析.pdf

2014-03-23

Linux高级程序设计.pdf

Linux高级程序设计.pdf 高清 带标签

2014-03-23

嵌入式实时操作系统uCOS-II原理及应用》任哲

嵌入式实时操作系统uCOS-II原理及应用》任哲 高清 带标签

2014-03-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除