详解Golang并发操作中常见的死锁情形

什么是死锁,在Go的协程里面死锁通常就是永久阻塞了,你拿着我的东西,要我先给你然后再给我,我拿着你的东西又让你先给我,不然就不给你。我俩都这么想,这事就解决不了了。 第一种情形:无缓存能力的管道,自己写完自己读 先

3年前 (Nov 25,2022)210 幺叔幺叔
golang panic及处理机制

golang panic及处理机制

一 panic机制   panic会将这个异常不断向上抛出,直到有地方处理它,如果有处理,则不会再向上抛出。倘若没有处理,那么最终会导致main挂掉.  golang虽然没有try catch机制,却有一种类似

3年前 (Nov 25,2022)206 幺叔幺叔

Golang并发操作中常见的读写锁详析

互斥锁简单粗暴,谁拿到谁操作。今天给大家介绍一下读写锁,读写锁比互斥锁略微复杂一些,不过我相信我们今天能够把他拿下! golang读写锁,其特征在于 读锁:可以同时进行多个协程读操作,不允许写操作 写锁:只

3年前 (Nov 25,2022)160 幺叔幺叔

golang 语言中错误处理机制

与其他主流语言如 Javascript、Java 和 Python 相比,Golang 的错误处理方式可能和这些你熟悉的语言有所不同。所以才有了这个想法根大家聊一聊 golang 的错误处理方式,以及实际开发中应该如何对

3年前 (Nov 25,2022)195 幺叔幺叔

Go 语言中的死锁问题解决

死锁 死锁的4个条件 不可剥夺 线程已经获得的资源,在未使用完之前,不能被其他线程剥夺,只能在使用完后自己释放。 请求保持 线程 T1 保持了一个资源 R1 占用,但是又提出另外一个资源

3年前 (Nov 25,2022)207 幺叔幺叔

Go 第三方库之类型转换问题

强类型语言有它的优势,但也有不便利的地方,最典型的就是类型转换。Golang 作为一门强类型语言,而且不支持隐式类型转换,因此这个问题更突出。虽然 Go 提供了不少方式进行类型转换,包括相关的标准库,比如 strconv

3年前 (Nov 25,2022)229 幺叔幺叔

Go中Channel发送和接收操作指南

前言 先来看一道面试题: 对已经关闭的 chan 进行读写,会怎么样?为什么? 在上一篇学习 Go 协程的文章中,知道 go 关键字可以用来开启一个 goroutine 进行任务处理,但多个任务之间如果需

3年前 (Nov 25,2022)199 幺叔幺叔

Go中的条件语句Switch示例详解

Switch简介 Go的switch的基本功能和C、Java类似: switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上至下逐一测试,直到匹配为止。 匹配项后面也不需要再加

3年前 (Nov 25,2022)195 幺叔幺叔

golang time常用方法详解

说明         在golang中,时间转换都会通过Time类型做一系列转换。主要包含,时间戳和时间字符串,时间字符串转换成另外的格式。总之所有的转换都是通过Time类型做中

3年前 (Nov 25,2022)204 幺叔幺叔