goroutine 相关问题

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

如何在递归函数中设置mutex和sync.waitgroup?

我在 Go 中编写了一些代码来解析站点并检索所有链接及其 Http 响应。我的代码运行良好,但我想添加 GoRoutines 以查看它在递归函数中的工作原理。 包裹我...

回答 1 投票 0

使用没有内置函数的 Go 例程优化矩阵乘法

我有以下使用 Go 例程进行矩阵乘法的代码 函数主() { var wgsync.WaitGroup 变量列 = 100 变量行 = 150 var randMatrixA [][]int var randMatrixB [][]in...

回答 1 投票 0

使用 Go 例程优化矩阵乘法

我有以下使用 Go 例程进行矩阵乘法的代码 函数主() { var wgsync.WaitGroup 变量列 = 100 变量行 = 150 var randMatrixA [][]int var randMatrixB [][]in...

回答 1 投票 0

缓冲通道大小限制

您好,我编写了这段代码来模拟异步发送电子邮件,但是如果我向该服务器发送 500 个并发请求,则前 100 个请求将能够将其电子邮件排队到

回答 1 投票 0

在 GO lang 中使用 Select 时出现死锁

我对下面的GO程序有疑问,该程序使用go例程和select语句计算字母、数字、特殊字符和空格的数量 函数主() { 字母 := make(cha...

回答 2 投票 0

使用通道将数据从一个 Goroutine 传递到另一个 Goroutine 的问题

我已经能够开发以下代码,该代码应该使用 go 通道将数据从一个例程传递到另一个例程: 包主 进口 ( “FMMT” “同步” ) func 生成数字(...

回答 1 投票 0

更快地关闭带有通道的 goroutine

我是 GO 新手,我有一个关于使用通道信号停止 goroutine 的问题。 我有一个长期运行的 goroutine(超过 1000 个)和管理器来管理它: func myThreadFunc(stop chan bool) { ...

回答 1 投票 0

为什么 main() Goroutine 在添加最后一个值后没有阻塞?

我有一个代码 包主 进口 ( “FMMT” ) func squares(c chan int) { 对于我:= 0;我< 4; i++ { num := <-c fmt.Println(num * num) } } func main() { ...

回答 1 投票 0

goroutines 完成通道无缓冲通道

在无缓冲通道中,默认情况下发送和接收块,直到发送者和接收者都准备好。 包主 进口 ( “FMMT” “时间” ) ...

回答 1 投票 0

sync.Cond 无法在多个 Goroutines 中正常工作

仅当sync.Cond执行广播时,我才尝试在多个go例程中进行打印,但go例程陷入僵局。有什么方法可以改进下面的代码,有什么方法可以识别...

回答 1 投票 0

Golang 中通道分配到底是如何工作的?

在下面的代码中,当我们在每次 go 例程调用后添加 b = a 时,从 ch 通道接收到的值为 4。 包主 导入“fmt” 函数主() { ch := make(chan int) 一个:...

回答 1 投票 0

可以将 strings.builder 放入上下文中来收集 goroutine 管道的输出吗?

我正在与一些大学生一起担任一个高级顶点项目的导师。我已经要求使用 GoLang。它将涉及处理多个文件,并进行多个阶段......

回答 1 投票 0

Go - 并发合并排序会挂起,除非在基本情况下有 fmt 调用

这是我对并发合并排序的尝试。我首先非并发地编写并测试了它,所以问题与合并排序逻辑无关,而是与我如何使用 goroutine/

回答 1 投票 0

通过通道和goroutine价值增加1000倍

我需要通过创建 1000 个 goroutine 将 x 增加 1000 倍,这将通过通道将 x 增加 1。我该怎么做? 包主 进口 ( “FMMT” ) 函数主() { 维...

回答 1 投票 0

等待 context cancel() 完成的好习惯是什么?

鉴于我有下面的程序,在通过调用 cancel() 函数终止之前使方法取消 (service.Start()) 完成(即打印 Done)的好习惯是什么?我只有...

回答 1 投票 0

使用通道停止长时间运行的方法

我正在研究一个使用 Go 通道的示例,但遇到了问题。假设我们有一个运行大约 1 小时的方法。该方法执行各种操作,例如写入数据......

回答 2 投票 0

为什么在这种情况下主协程被阻塞从而导致死锁?

包主要 导入“fmt” func square(numbers chan int, squares chan int) { for n := 范围数 { 正方形 <- n * n } close(squares) } func main() { number...

回答 2 投票 0

在 golang 中处理 SIGINT (ctrl-c) 将其转换为恐慌

我的目标是拥有一个 SIGINT 处理程序(即 CLI 上的 Ctrl-C),它将允许延迟函数调用运行,而不是导致硬退出。其用例是在一个测试套件中,非常...

回答 1 投票 0

Go 中为什么需要等待 select?

我刚刚学习了上下文取消。 这是我的代码。 包主 进口 ( “FMMT” “语境” ) 函数主() { ctx := context.Background() 执行(ctx) } func do(ctx context.C...

回答 1 投票 0

如何在不使用time.Sleep的情况下等待所有goroutines完成?

此代码选择同一文件夹中的所有 xml 文件作为调用的可执行文件,并异步对回调方法中的每个结果应用处理(在下面的示例中,只是...的名称)

回答 6 投票 0

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