#golang

golang GMP

写点东西还是难,果然还是搬运工来的轻松些。今天搬运点Golang的GMP模型看看。最近在准备一篇GolangGC实践。慢慢搞吧。

前言

Golang作为语言层面支持并发的语言,使用go可以让搬砖体验飞起。但是从直觉来说,事情并没有这么简单:从操作系统层面来说,进程和线程是操作系统认可的并行机制。协程以及Golang的所谓纤程是期望一堆程序员期望将操作系统的工作拿过来,以满足一些优化的效果。所以诸如Python的协程以及Golang的纤程,总是能够对应到操作系统认可的执行单元上。对于Python的协程还好理解一些,是严格运行在自己的线程里的,只是语言层面实现了线程内的上下文切换优化。所以对于CPU密集型的操作,仅使用协程是无法达到优化效果的:这种场景下Python会推荐多进程。相比起来,Golanggo野心更大一些:期望给用户以go作为接口,在语言内实现与操作系统调度单元的交互。Golang里实际的调度模型是GMP

·3min·李岩
golang GMP

golang 封装

golang作为一种高级语言,实现了面向对象语言的封装、继承、多态的特性。本文简要介绍下golang面向对象的这些特性。

·2min·李岩
golang 封装