并发
已收录文章:77篇
-
业务描述 这个接口的作用是给会员发多张券码。涉及到4张主体,分别是:用户,券,券码,用户领取记录。 下面是改造前的伪代码。 主要是因为查出券码那行存在并发安全问题,多个线程拿501 收藏
-
其实golang用一个函数可以构建一个并发队列,现在编写一个灵活可控的队列程序 先定义一个工作 type Worker struct { ID int RepJobs chan int64 SM *SM quit chan bool } 包含了workid和执497 收藏
-
Go语言程序可以使用通道进行多个 goroutine 间的数据交换,但这仅仅是数据同步中的一种方法。通道内部的实现依然使用了各种锁,因此优雅代码的代价是性能。在某些轻量级的场合,原子访问495 收藏
-
通过上一节《Go语言goroutine》的学习,关键字 go 的引入使得在 Go语言中并发编程变得简单而优雅,但我们同时也应该意识到并发编程的原生复杂性,并时刻对并发中容易出现的问题保持警惕。事495 收藏
-
前面的例子创建的都是无缓冲通道。使用无缓冲通道往里面装入数据时,装入方将被阻塞,直到另外通道在另外一个 goroutine 中被取出。同样,如果通道中没有放入任何数据,接收方试图从通道491 收藏
-
环境:MySQL8.0.301 事务基本概念1.1 基本概念什么是事务:是可以提交或回滚的原子工作单元,它是由一个或多个操作形成的一组操作单元。事务处理的原则:保证所有的操作都作为 一个工作单元477 收藏
-
当进行和 Go语言有关讨论的时候,经常听到人们抛出 CSP 这个缩写。在某些环境下 CSP 经常被赞美成 Go语言成功的原因以及并发编程的“万能钥匙”。它让不知道 CSP 的人开始认为计算机科470 收藏
-
Go 语言相比Java等一个很大的优势就是可以方便地编写并发程序。Go 语言内置了 goroutine 机制,使用goroutine可以快速地开发并发程序, 更好的利用多核处理器资源。这篇文章学习goroutine 的应用及468 收藏
-
利用了golang对高并发的良好支持,同目录下将ip每行一个写入pinglist.txt文件即可 其实这个功能用linux一条命令就能搞定: cat pinglist.txt | xargs -P 10 -I {} ping -fc 100 {} package main import ( "bufio" "byte462 收藏
-
redis是单进程,阻塞式,在同一时刻只能处理一个请求,后来的请求需要排队等待。 优点:因为是单进程,所以无需处理并发问题,降低 系统复杂度 缺点:不适合缓存大尺寸对象(超过100kb)460 收藏
-
更难出现goroutine泄漏处理panic更友好并发代码可读性高 从简介上看主要封装功能如下: 对waitGroup进行封装,避免了产生大量重复代码,并且也封装recover,安全性更高提供panics.Catcher封装recover逻458 收藏
-
Go语言中有缓冲的通道(buffered channel)是一种在被接收前能存储一个或者多个值的通道。这种类型的通道并不强制要求 goroutine 之间必须同时完成发送和接收。通道会阻塞发送和接收动作的条件452 收藏