4.Go语言高并发与微服务实战 --- Go 语言高级特性

Posted enlyhua

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4.Go语言高并发与微服务实战 --- Go 语言高级特性相关的知识,希望对你有一定的参考价值。

第 4 章 进阶——Go 语言高级特性
	Go语音是一门静态强类型的语言,在程序编译的过程中会把变量的反射信息如字段类型、类型信息等写到可执行文件中。在程序执行过程中,
Go语音虚拟机加载可执行文件中变量的反射信息,并提供接口用于在运行时获取和修改代码的能力。
	
	Go语音支持两种并发模型,一种是我们常见的共享内存并发模型;另一种是基于Go语音推荐的CSP(顺序通信进程)并发模型。Go语音使用了一种
特殊的MPG线程模型,使得可以原生支持协程并发,大大提供了程序的执行效率。


4.1 依赖管理 
	4.1.1 包管理 
	4.1.2 GOPATH 
	4.1.3 Go Modules 

4.2 反射基础 
	4.2.1 reflect.Type 类型对象 
	4.2.2 类型对象 reflect.StructField 和 reflect.Method 
	4.2.3 reflect.Value 反射值对象 
	【实例 4-1】使用反射调用接口方法 

4.3 并发模型 
	4.3.1 并发与并行 
		并发不要求cpu具备多核计算的能力。
		并行程序则要求cpu提供多核并行计算的能力。

		并发程序的执行通常是不确定的,这种不确定来源于资源之间的互相依赖和竞态条件,这可能导致执行线程之间的互相等待,使得并发程序即使
	在多核环境上也无法做到真正并行执行而降级为串行执行。

		并行程序的每个执行模块在逻辑上是独立的,即线程执行时可以独立完成任务,从而可以做到同一时刻多个指令能够同时执行。

	4.3.2 CSP 并发模型 
		Go语音实现了两种并发模型:
			1.我们熟悉的线程与锁并发模型,它主要是依赖于共享内存实现。线程与锁模型类似于对底层硬件运行过程的形式化,程序的正确运行很大
			程度上依赖于开发人员的能力和技巧,程序在出错时不易排查。
			2.Go语音中提倡使用的CSP通信顺序进程模型。

		CSP模型中存在两个关键的概念:
			1.并发实体࿰

以上是关于4.Go语言高并发与微服务实战 --- Go 语言高级特性的主要内容,如果未能解决你的问题,请参考以下文章

11.Go语言高并发与微服务实战 --- 统一认证与授权

12.Go语言高并发与微服务实战 --- 分布式链路追踪

12.Go语言高并发与微服务实战 --- 分布式链路追踪

2.Go语言高并发与微服务实战 --- 微服务概述

2.Go语言高并发与微服务实战 --- 微服务概述

13.Go语言高并发与微服务实战 --- 综合实战:秒杀系统的设计与实现