
MoE 系列(七)| Envoy Go 扩展之沙箱安全
在本系列的第 5 篇《MoE 系列(五)|Envoy Go 扩展之内存安全》中我们介绍了内存安全如何实现。第 6 篇《MoE 系列(六)| Envoy Go 扩展之并发安全》又谈到了并发场景下的内存安全。今天,我们来到了安全性的最后一篇:沙箱安全,也是相对来说...

MoE 系列(六)|Envoy Go 扩展之并发安全
前一篇介绍了 Envoy Go 扩展的内存安全,相对来说,还是比较好理解的,主要是 Envoy C++ 和 Go GC 都有自己一套的内存对象的生命周期管理。这篇聊的并发安全,则是专注在并发场景下的内存安全,相对来说会复杂一些。 并发的原因 首先,为什么会有并发呢🤔️ 本质上因为 ...

Go到底能不能实现安全的双检锁?2
安全的双检锁有了对sync.Once的理解,我们可以改造之前写的双检锁逻辑,让它也能安全起来。type Conn struct { Addr string State int } var c *Conn var mu sync.Mutex var done uint32 func getInstan...

Go到底能不能实现安全的双检锁?1
不安全的双检锁从其他语言转入Go语言的同学经常会陷入一个思考:如何创建一个单例?有些同学可能会把其它语言中的双检锁模式移植过来,双检锁模式也称为懒汉模式,首次用到的时候才创建实例。大部分人首次用Golang写出来的实例大概是这样的:type Conn struct { Addr string Sta...
go语言SDK client 和 bucket 是否并发安全
go语言SDK包 github.com/aliyun/aliyun-oss-go-sdk/oss 代码片段 client, err := oss.New(endpoint, accessID, accessKey) ... bucket, err := client.Bucket(bucketNam...

MoE 系列(五)|Envoy Go 扩展之内存安全
前面几篇介绍了 Envoy Go 扩展的基本用法,接下来几篇将介绍实现机制和原理。 Envoy 是 C++ 实现的,那 Envoy Go 扩展,本质上就相当于把 Go 语言嵌入 C++ 里了。 在 Go 圈里,将 Go 当做嵌入式语言来用的,貌似并不太多见,这里面细节还是比较多的。...

go一个协程安全协程调度的问题
看一段代码,请问输出什么?package main import "time" func main() { var testNum = 0 go func() { time.Sleep(10000) testNum = 1 }() for testNum == 0 { if testNum...

Go 语言快速入门指南:什么是 TLS 安全传输层协议
安全问题,让人既爱又恨,不管是云原生应用还是本地或其他,安全是任何应用程序的一个重要特性。但往往很多时候,安全问题被忽视,成为最后考虑的问题,这样的结果就是:一旦出现问题,就会带来灾难性结果。传统环境有丰富的工具和既定的安全最佳实践,但对于云原生应用来说,情...

【大安全开发部-数字规划团队】使用Beego搭建Go语言的Restful API项目
使用Beego搭建Go语言的Restful API项目概述此文章是Go语言开发项目的入门篇,hello word级别,主要讲解基于框架开发go项目的搭建过程。搭建如下:1.需要安装go语言,并配置环境变量。2.需要安装git版本控制工具。3.需要安装beego,beego是目前比较流程的go语言开发...
《快学 Go 语言》第 13 课 —— 并发与安全
上一节我们提到并发编程不同的协程共享数据的方式除了通道之外还有就是共享变量。虽然 Go 语言官方推荐使用通道的方式来共享数据,但是通过变量来共享才是基础,因为通道在底层也是通过共享变量的方式来实现的。通道的内部数据结构包含一个数组,对通道的读写就是对内部数组的读写。 在并发环境下共享读写变量必须要使...
更新时间 2023-08-23 21:48:40
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
产品推荐
社区圈子