goroutine 相关问题

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

为什么缓冲通道不能保持活动状态? [已关闭]

我有一个程序,我不想自动死掉,最有效的方法是使用一个接收通道,等待数据直到它被取消,但由于不好的原因它确实...

回答 1 投票 0

为什么golang的缓冲通道不能作为保活通道?

好吧,我厌倦了我的 golang 机器上的这些错误,我最近看到的教程视频中的一些工作但在我的机器上失败了,无论如何我有一个程序,我不想自动...

回答 1 投票 0

Goroutine 已在 Go Web 服务器中根据请求启动,但客户端断开连接,Web 服务器是否可以关闭该特定 Goroutine?

每当客户端发出 Web 请求时,它都会生成一个 goroutine 来处理每个请求。如果客户端恰好断开连接,Web 服务器是否可以关闭该连接

回答 2 投票 0

如何解决gin中的“标题已经写入。想要用400覆盖状态代码200”

我正在尝试使用 Gin 框架独立于 HTTP 请求来计算报告,但如果尚未关闭,我也想将其返回到请求。以下代码片段有些...

回答 1 投票 0

如何解决 GIN Golang 并发中的“标头已写入。想要用 400 覆盖状态代码 200”

我正在尝试使用 Gin 框架独立于 HTTP 请求来计算报告,但如果尚未关闭,我也想将其返回到请求。以下代码片段有些...

回答 1 投票 0

在 goroutine 中将函数作为参数传递

导入( “FMMT” “时间” ) func WithRecover(r func()) { r() } func printRewardAmount(rewardAmount int) { fmt.Println(奖励金额) } 函数主() { var 奖励...

回答 1 投票 0

通过对通道进行多次写入来理解 golang 阻塞通道行为

我是 golang 新手,正在尝试了解该语言中的并发性。我有一个代码可以将一些值推送到通道然后读取它们。 包主 进口 ( “日志” ...

回答 1 投票 0

致命错误:所有 goroutine 在写入多个通道时都处于休眠状态

我刚刚开始学习 Go 例程,我试图在一个 Go 例程中写入两个通道,生成偶数和奇数,直到 50。但是,我陷入了僵局。 这是代码,我是什么

回答 2 投票 0

没有取消传播的上下文

我如何创建一个 Go 上下文的副本(如果你愿意的话,可以是克隆),其中包含原始数据中存储的所有值,但不会在原始数据被取消时被取消? 这看起来确实是一个有效的我们...

回答 3 投票 0

golang 中的并行处理

给出以下代码: 包主 进口 ( “FMMT” “数学/兰德” “时间” ) 函数主() { 对于我:= 0;我< 3; i++ { go f(i) } // prevent main from exiting immed...

回答 5 投票 0

在sync.WaitGroup goroutine中写入chan

我正在从 API 端点获取项目列表。然后,对于每个项目,我都会发出另一个 API 请求以获取有关单个项目的数据。 我无法同时对每个项目发出第二个 API 请求...

回答 1 投票 0

golang 如何知道不会给通道赋予新值?

打印 1 2 3 4 5 后,这段代码陷入死锁。 (生产者停止从 for 循环生产之后) func 生产者(n int) <-chan int { c := make(chan int) go func() { for ...

回答 1 投票 0

如何为循环扫描的bufio扫描仪设置超时?

我正在使用 golang 启动进程并监视输出。该进程将运行很长时间,我需要能够发送信号来结束它。 我有以下代码,在大多数情况下运行良好

回答 1 投票 0

死锁 - 所有 goroutine 都处于睡眠状态(即使使用等待组)

我正在学习 go 并发,我希望两个 go 例程能够继续相互通信,同时通过通道传递更新的值。一个加 2,另一个减 1。代码...

回答 1 投票 0

在 Go 中如何向无缓冲通道写入/读取多个值?

这似乎挑战了我对无缓冲通道的理解,即它只能取一个值,然后它会阻止读者读取它。 下面的代码中 writeToChan 是如何...

回答 1 投票 0

Golang defer 并不总是执行

我正在运行一个 Golang TCP 服务器,它接收连接,生成一个 goroutine 来处理该连接,然后生成一个新的 goroutine 来从连接中读取数据并将数据写入通道。那里……

回答 1 投票 0

有什么用<-ctx.Done() in select statments?

因此,正如本问题所解释的,select语句随机选择一个通道操作。我经常看到这样的模式: func foo(ctx context.Context, someChannel <-chan int) { for { ...

回答 0 投票 0

为什么 goroutine 挂起?

我正在尝试轮询 SQS 队列,并在将消息正文解组到 json 事件负载后仅获取满足特定条件的消息。我在一项测试中调用时看到了这一点

回答 0 投票 0

sync:在之前的Wait返回之前重用WaitGroup

该代码在多个goroutine中并发运行,以下代码是从生产环境代码中提取的关键相关部分: 函数检查() { ......检查状况...... //

回答 1 投票 0

在继续之前要求 Go 运行所有 goroutines

我需要 Golang 调度程序在继续之前运行所有 goroutines,runtime.Gosched() 没有解决。 问题是 go 例程可以运行得如此之快以至于 start() 中的“select”运行...

回答 1 投票 0

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