1 管道: redis的pipeline(管道)功能在命令行中没有,但是redis是支持管道的,在java的客户端(jedis)中是可以使用的。测试发现:1:使用管道方
原创
2023-04-21 00:41:21
88阅读
package mainimport ( "fmt" "time")func main() { // 定义一个channel c := make(chan int, 3) fmt.Println("len(c) = ", len(c), ", cap(c) = ", cap(c)) go func() { defer fmt.Println("子go程结束") for i := 1; i < 4; i++ { c <- i fmt.Println("子.
原创
2021-03-27 21:26:56
72阅读
文章目录1. 前言:2. go的下载与配置3. Golang 目录结构4. Golang 的基础语法4.1. 变量声明4.2. 输入输出4.3. 条件控制4.4. 数组和切片4.5. 映射表 1. 前言:根据鼠鼠的实习投递经历,由于越来越多中大型公司都使用 Golang,在现在这个越来越内卷的后端就业环境下,学习一下 Golang 拓宽技术栈面是必须的,下面就跟着鼠鼠进行一些基础知识点的比较和学
转载
2024-09-28 19:31:21
44阅读
package mainimport ( "fmt")func main() { c := make(chan int) go func() { for i := 0; i < 5; i++ { c <- i } // 关闭channel close(c) }() for { if data, ok := <-c; ok { fmt.Println(data) } else { break } } fmt.Print.
原创
2021-03-27 21:40:14
201阅读
Golang阻塞的管道 疑惑: 对于处理不完任务的管道,剩下的任务是不是按照顺序处理的? 测试思路 生产者每 3 毫秒生产一条 消费者每秒消费一条 观察数据打印 如果数据是递增的,就是队列 不是递增的,那就是内部实现的是锁的竞争 代码 package main import ( "log" "tim ...
转载
2021-07-19 22:47:00
215阅读
2评论
package mainimport ( "fmt")func main() { c := make(chan int) go func() { for i := 0; i < 5; i++ { c <- i } // 关闭channel close(c) }() for { if data, ok := <-c; ok { fmt.Println(data) } else { break } } fmt.Print.
原创
2021-03-27 21:40:14
65阅读
package mainimport ( "fmt" "time")func main() { // 定义一个channel c := make(chan int, 3) fmt.Println("len(c) = ", len(c), ", cap(c) = ", cap(c)) go func() { defer fmt.Println("子go程结束") for i := 1; i < 4; i++ { c <- i fmt.Println("子.
原创
2021-03-27 21:26:56
152阅读
直接上代码package main
import (
"bufio"
"container/list"
"fmt"
"os"
"strings"
)
//使用list实现一个队列
func main() {
lt := list.New()
consol := bufio.NewScanner(os.Stdin)
for consol.Scan(){
action :
转载
2023-05-30 13:52:59
191阅读
为什么需要channelchannel的介绍管道的本质是队列 FIFO 先进先出定义/声明管道channel的初始化和写数据 管道的本质 向管道写入数据及查看管道的长度和容量 往管道加数据,不能超过它的容量,否则报错从管道中读取数据 管道为空的情况下继续取数据会报错...
原创
2021-07-06 09:45:46
931阅读
为什么需要channelchannel的介绍管道的本质是队列 FIFO 先进先出定义/声明管
原创
2022-01-19 14:27:23
335阅读
创建一个“队列”对象import queueq = queue.Queue(3)q的队列长度是3.myqueue.put(10)put()有两个参数,第一个item为必需的,为插入项目的值;第二个block为可选参数,默认为1。如果队列当前为空且block为1,put()方法就使调用线程暂停,直到空出一个数据单元。如果block为0,put方法将引发Full异常。myqueue.get()取出一个
转载
2023-06-17 16:50:24
77阅读
死锁编译器底层会分析,如果发现一个地方在不停的写,但是没有任何一个协程去读取这样就直接死锁,如果有一个协程在慢慢
原创
2024-01-02 12:21:01
115阅读
package mainimport "fmt"func main() { // 定义一个channel c := make(chan int) go func() { defer fmt.Println("goroutine结束") fmt.Println("goroutine正在运行") c <- 666 // 从channel中发送数据 }() num := <-c // 从 channel中读数据 fmt.Println("num = ", num) .
原创
2021-03-27 21:06:00
260阅读
package mainimport "fmt"func main() { // 定义一个channel c := make(chan int) go func() { defer fmt.Println("goroutine结束") fmt.Println("goroutine正在运行") c <- 666 // 从channel中发送数据 }() num := <-c // 从 channel中读数据 fmt.Println("num = ", num) .
原创
2021-03-27 21:06:00
120阅读
基础 并发:电脑同时听歌,看小说,打游戏。cpu根据时间片进行划分,交替执行这三个程序。我们可以感觉是同时产生的。 并行:多个cpu(多核)上述动作同时执行 C语言:,实现并发过程使用的是多线程(C++的最小资源单元) Golang:Golang中不是线程,而是Go程(goroutine),Go程是 ...
转载
2021-09-29 21:34:00
514阅读
点赞
2评论
package mainimport ( "fmt")func main() { c := make(chan int) go func() { for i := 0; i < 5; i++ { c <- i } close(c) }() for data := range c { fmt.Println(data) } fmt.Println("main finished")}
原创
2021-03-27 21:51:03
253阅读
package mainimport ( "fmt")func main() { c := make(chan int) go func() { for i := 0; i < 5; i++ { c <- i } close(c) }() for data := range c { fmt.Println(data) } fmt.Println("main finished")}
原创
2021-03-27 21:51:03
425阅读
# 使用Golang实现消息队列
在软件开发中,消息队列是一种常用的通信机制,用于在不同组件之间传递消息。这篇文章将介绍如何使用Golang来实现消息队列。
## 消息队列的基本概念
在介绍如何实现消息队列之前,我们先了解一下消息队列的基本概念:
- **生产者(Producer)**:负责生产消息并将消息发送到队列中。
- **消费者(Consumer)**:负责从队列中获取消息并处理消
原创
2024-04-30 10:58:58
137阅读
下面这段教程针对是你已经有一些基本的MQ的知识,比如说能够很清楚的理解queue、exchange等概念,如果你还不是很理解,我建议你先访问官网查看基本的教程。 文章目录1、造成死信队列的主要原因2、操作逻辑图3、代码实战3.1 针对原因1:消费者超出时间未应答3.3 针对原因2:限制一定的长度3.3 针对原因3:消费者拒绝的消息回到死信队列中 1、造成死信队列的主要原因消费者超时未应答队列的容量
转载
2024-07-01 09:56:05
248阅读
# 一、引言
在Kubernetes (K8S) 中,使用 Golang 编写控制器需要管理各种资源,处理各种事件,以及与API服务器交互。队列库是一个非常有用的工具,可以帮助我们处理各种异步任务,优化资源利用率,并且有效地控制流量。
# 二、实现 "golang 队列库" 的流程
| 步骤 | 操作 | 代码示例
原创
2024-04-30 10:59:26
80阅读