goroutine 相关问题

goroutine是一个轻量级的执行线程,由Go语言运行时管理。

简单的 API 来处理带有和不带有并发(Go Routine)的 go 应用程序的 HTTP 请求

刚回到 golang 尝试并发编程,我尝试使用并发从我在本地主机上运行的简单应用程序中获取 10 个数据 所以首先我用 Gin 做了一个简单的应用程序 主要功能...

回答 0 投票 0

我可以跨 go 例程安全地使用 redis/kafka 客户端吗?

我有这个使用 go-redis 的(不完整的)示例程序: func doThings(ctx context.Context, cache redis.Cache) { .. eventString, 错误 := cache.GetDel(ctx, myKey).Result() .. } func doOtherThin ...

回答 0 投票 0

如何在不需要锁的情况下将一个协程变成多个协程?

我们有一个 HostPinger 函数,它打算作为一个 goroutine(来自 Main)启动,并负责监视使用客户端列表初始化的主机列表的健康状况。 ...

回答 1 投票 0

如果频道被垃圾收集,这段代码会停止工作吗

我有一个 go 服务,它在 main.go 中初始化一个缓冲通道。我正在使用它来控制在我的一个函数中同时生成的 goroutine 的最大数量。我的代码看起来很像...

回答 1 投票 0

Goroutine 导致 EKS Pod 中出现分段错误

func (l *LS) GetRCDetails(ctx *common.Context, rcRequest vm.RCRequest) (vm.RCResponseData, base.VError) { 推迟 common.StartSegment(ctx, "GetRCDetails").End() var rcResponse 虚拟机

回答 0 投票 0

go 例程同步失败

我试图在 golang 中实现一个速率限制器。我使用的算法是滑动窗口。 方法 我正在使用地图来存储特定秒内的请求数。所以当一个新的请求到来时,我...

回答 0 投票 0

Go 中如何调用测试函数?

我正在学习Go语言,现在有一个问题。 我只是在测试缓冲和非缓冲通道。 在为其编写测试代码时,出现了无法理解结果的情况...

回答 2 投票 0

函数应该在进程在单独的 go routine 中工作时返回输出

我有以下代码: 包主 进口 ( “错误” “调频” “同步” “时间” 呃“github.com/pkg/errors” ) 功能主要(){ ...

回答 1 投票 0

在 goroutine 中用于 POST 请求的 net/http 和 fasthttp 无法区分经过时间

需要向 n 个服务器发送多个 post 请求,并收集响应。 我通过go-routine分别实现了net/http和fasthttp版本。但不确定这是最佳方式。 fasthttp(在...

回答 0 投票 0

Golang - post 请求不是并行发送的

我想发送几个并行的 POST 请求并保存结果,但是我可以看到处理不是并行的。 功能过程( 提供者模型。提供者, 查询模型。查询, 数据库 *sql....

回答 0 投票 0

堆叠来自go例程的数据

我正在学习go lang,我想创建一个go app来实现以下功能: 从远程日志中接收数据 分析某种错误的警告 定期发送HTTP请求到一个URL...

回答 1 投票 0

为什么在Golang中发送一个超过缓冲通道大小的值会导致死锁错误?

/ 默认情况下,通道是无缓冲的,这意味着它们/只接受发送(chan)。

回答 1 投票 0

在goroutines中使用select语句的通道通信行为。

这是 "围棋之旅 "提供的一个修改版本。 package main import "fmt" func fibonacci(c, quit chan int) { x, y := 0, 1 for { select { case c

回答 1 投票 0

为什么通道没有被关闭?[重复]

对于下面的代码: package main import "fmt" func emit(c chan string) { words := []string{"The", "quick", "brown", "fox", "ran", "away"} for _, word := range words { fmt.Printf("...

回答 1 投票 -2

在非缓冲通道上进行循环的范围。

我是golang的新手,正在学习golang的Gotour。我有下面的代码,它可以完美地工作。 package main import ( "fmt" ) func fibonacci(n int, c chan int) { x, y := 0, 1 for ....

回答 2 投票 0

go vet - 循环变量i由func literal捕获。

在下面的代码中: package main import "fmt" func main() { for i := 0; i <= 9; i++ { go func() { fmt.Println(i) }() }。} 输出:code$ code$ go install ...

回答 1 投票 1

棋道僵局没有发生

package main import ( "fmt" "time" ) func main() { c := make(chan int) go func() { fmt.Println("hello") c

回答 1 投票 1

Goroutines节流阀示例

我正在通过Udemy课程学习基础围棋。在goroutines部分,有一个关于节流的例子,让我对等待组的工作方式有了新的理解。 包main import ( "fmt" ...

回答 1 投票 0

用goroutines处理后退

一个程序使用N个并发的worker作为goroutine向API发送数据,这些worker从一个通道中消耗数据(ProducerConsumer模式)。API使用HTTP状态码发出信号,它不能处理更多的数据,并要求......

回答 1 投票 0

为什么通道上的去程序块被认为是死锁?

按照这里的定义,死锁与资源争夺有关。在操作系统中,当一个进程或线程因为请求的系统资源进入等待状态时,就会发生死锁。

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.