腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
一次
退出
所有
递归
生成
的
goroutines
go
我有一个函数可以
递归
地产生
goroutines
来遍历DOM树,将它们找到
的
节点放到它们之间共享
的
通道中。) if someCondition(c) { // quit all
goroutines
spawned by walk} 我想知道如何才能
退出
所有
这些
goroutines</e
浏览 23
提问于2019-05-18
得票数 2
回答已采纳
2
回答
用于确定何时完成未知数量
的
猩猩
的
习语/设计。
design
、
design-patterns
、
go
、
idioms
我有一个工作流,
递归
地遍历一堆目录,然后对每个文件执行一些操作。我使用
goroutines
来遍历每个目录,并处理每个文件。我遇到
的
问题是跟踪工作何时“完成”,因为每个目录
生成
一个新
的
goroutine,并且有一个未知数量
的
子目录和文件。我目前使用
的
解决方案包括创建一个二级通道,作为一个反通道--在
生成
一个新
的
goroutine之前,我们+1计数器,当goroutine完成它时-1's计数器,当计数器达到0时,我们知道我们已经
浏览 0
提问于2015-08-11
得票数 5
1
回答
所有
围棋程序都处于休眠死锁状态
multithreading
、
go
、
concurrency
我正在学习如何做并发,我已经将其编写为自己
的
应用程序,这样一旦它工作起来,我就可以将它移植到不同
的
项目中。我要添加它
的
项目基本上会向全局QueueChannel发送一个RowInfo,然后我
的
工作人员就应该开始处理这项工作了。如果我使用相同
的
ID对两行进行排队,并且其中一行当前正在由工作程序处理,那么我将从队列中删除重复
的
行(正如您可以看到我在dispatcher中执行"continue“
的
位置)。我怀疑我得到
的
错误与没有关闭通道有关,因为这
浏览 0
提问于2016-02-11
得票数 0
1
回答
goroutines
中
的
GORM在查询限制较大时冻结。
go
、
go-gorm
我决定构建创建CSV报告
的
服务。就像我说
的
,它好像冻僵了。从处理器加载
的
一个核心。提前谢谢。也许我
的
方法是不好
的
,你可以建议,如何解决它。
浏览 0
提问于2019-08-27
得票数 1
回答已采纳
1
回答
对于N>1
goroutines
( N>1 Cpu:s)
的
不同结果。为什么?
concurrency
、
go
、
channel
我有一个测试程序,当在多个Cpu上执行多个goroutine (
Goroutines
=Cpu)时,会给出不同
的
结果。“测试”是关于使用通道同步
goroutines
,程序本身统计字符串中出现
的
字符。SpawnWork关闭用于控制工作者
的
工作字符串通道(它使用范围消耗字符串,当输入通道被SpawnWork关闭时
退出
)。当Worker已经使用了它
的
范围( chars)时,它会在
退出
通道上发送
退出
信号(quit <- true)。这些
浏览 3
提问于2013-06-13
得票数 3
回答已采纳
1
回答
如何将MongoDB数据库传递给GO例程?
go
、
goroutine
、
mgo
我是个新手,我正在尝试编写一个简单
的
程序来迭代MongoDB数据库中
的
所有
用户,并使用'mgo‘包为每个用户迭代他
的
所有
帖子。iter.Next(&result) { } 这工作得很好,但是如果我尝试将对handleUser(db, &result)
的
调用更改为go handleUser(db, &result),则handleUser中
的
第二个查
浏览 5
提问于2013-04-15
得票数 1
回答已采纳
2
回答
函数
的
递归
调用以goroutine
的
形式启动&在
所有
工作人员goroutine完成时继续调用
的
惯用方式
go
、
concurrency
、
tree
、
goroutine
我正在实现一种组合回溯算法,在
goroutines
中使用。我
的
问题可以表示为一棵具有一定程度/扩展
的
树,其中我想访问每一片叶子,并根据所走
的
路径计算结果。在给定
的
层次上,我想要产卵
goroutines
来同时处理子问题,也就是说,如果我有一棵3级
的
树,并且我想在第2级之后开始并发,我就会
生成
3*3=9
goroutines
,它同时处理这些子问题。使用
退出
通道(int类型)。每次
生成
一个gor
浏览 3
提问于2022-04-26
得票数 2
回答已采纳
3
回答
无限期运行Go例程
go
我有一个函数,它调用另一个返回chan数组
的
函数。我目前有一个for循环遍历数组中
的
范围,它无限期地运行程序,输出通道更新。
浏览 2
提问于2017-01-04
得票数 6
回答已采纳
1
回答
子goroutine在其父gorutine
退出
后不会停止。
go
我有这样
的
代码: fmt.Println("Sleeping...")sync.WaitGroup}2秒后,parent函数返回1,因为case <-ctx.Do
浏览 1
提问于2022-11-26
得票数 -1
1
回答
Go中
的
递归
临界区
recursion
、
concurrency
、
go
、
mutex
我知道在Go中不支持
递归
互斥(很多人认为这很危险),通道是实现复杂并发模式
的
首选方式。 但是,我找不到任何合理
的
方法来实现一个非常常见
的
并发模式--可重入或
递归
临界区。粗略地说:
goroutines
A和B将竞争一个临界区上
的
锁(比如结构中
的
某个状态需要进行原子修改)。假设A接收到锁。但是,A会
递归
,可能需要多次进入临界区。当它在进入临界区时
退出
临界区,goroutine B将获得锁,依此类推。我想用通道来实现这一
浏览 0
提问于2015-05-27
得票数 3
1
回答
并发扫描多个端口时
的
不可靠结果
go
、
networking
、
tcp
、
port-scanning
背景package main "fmt") fmt.Printf("%d open\n", j) }然后他提到了以下几点: 同时扫描过多
的
主机或端口可能会导致网络或系统限制为了测试它,我在端口8000和8500上启动了2个php服务器,并运行上面的代码来扫描我
浏览 8
提问于2020-05-31
得票数 2
回答已采纳
1
回答
为什么带有
goroutines
的
for循环会导致数据丢失
go
、
struct
、
goroutine
好
的
,我有两段代码。"%s", thisisjson) 其中大部分内容不言自明,但为了澄清,我使用了Elasticsearch客户端和api.cat.indices应用程序接口来获取本地Elasticsearch安装中
所有
索引
的
列表,然后将它们存储为map[string]interface{}数组,然后循环此数组以将它们添加到结果结构
的
切片中。实际上,这很好,但我想要注意性能,虽然我不能改善请求本身
的
延迟,但我肯定可以提高循环
的
性能,至少我认为我应该能够做到。 所以,
浏览 14
提问于2020-02-03
得票数 0
回答已采纳
3
回答
从一个通道消耗多个go例程会导致数据丢失
go
、
goroutine
在我下面的例子中,多个go例程从一个未缓冲
的
通道消耗。我知道对于无缓冲通道,发送是在接收完成之后完成
的
,而缓冲通道则不是这样。同样,对于缓冲
的
情况,如果channel还没有发送任何int,那么for循环不会被阻塞吗? 请帮我解决我
的
两个问题。感谢
所有
的输入。
浏览 0
提问于2017-08-28
得票数 2
1
回答
具有一个接收器
的
通道和未知数量
的
goroutines
发送器导致死锁
go
、
deadlock
、
channel
、
goroutine
问题是,我不知道将创建多少
goroutines
,因此无法知道何时关闭通道。s := range ch { } } 现在,这只是一个测试代码,所以,假设我们不知道我们将只创建10个goroutine,假设它在运行时是未知
的
,这里我立即得到一个死锁错误,没有任何输出,如果我不使用WorkGroup,我在打印第10个字符串之前得到错误(因为我没有关闭通道) 我还试着不为每个函数调用
生成
一个goroutine,而是为
所有
的
递归
调用使用一个goroutine (
浏览 15
提问于2019-01-13
得票数 2
回答已采纳
3
回答
如果在go中发生错误,则关闭多个goroutine
go
、
error-handling
、
synchronization
、
exit
、
goroutine
如果对work()
的
一个调用在任何运行
的
goroutines
中返回一个错误,我希望
所有
goroutines
立即停止,程序
退出
。这里可以使用os.Exit()吗?我该怎么处理呢?编辑:这个问题不同于,因为在这里,如果在一个错误中发生错误,我需要关闭
所有
的
浏览 6
提问于2017-08-04
得票数 24
回答已采纳
1
回答
gcloud go sdk for cloudresourcemanager中上下文
的
使用
go
、
sdk
、
gcloud
我正在关注gcloud sdk
的
官方go 。import "google.golang.org/api/cloudresourcemanager
浏览 0
提问于2019-12-13
得票数 0
1
回答
在接收器读取通道之前,关闭通道是否会阻塞
go
、
concurrency
、
channel
、
goroutine
我实现了一种通过关闭通道来关闭服务器
的
方法,这样其他
goroutines
就会读取关闭
的
通道,然后
退出
。关机后,我需要对服务器数据做一些清理,如果close()阻塞,直到
所有
其他
goroutines
读取关闭
的
通道,我可以在没有锁
的
情况下访问数据。所以问题是:在接收器读取通道之前,关闭通道会阻塞吗?. // if other
goroutines
already read closed s.chStop and
浏览 0
提问于2018-09-03
得票数 1
0
回答
使用通道时
goroutines
死锁
go
、
parallel-processing
、
goroutine
我是go lang
的
新手,我正在尝试写一个简单
的
递归
算法,它将使用
goroutines
。我正在使用通道接收来自goroutine
的
输出,但是当我尝试这样做时,我收到“致命错误:
所有
goroutines
都处于休眠状态-死锁!”错误。如果我注释掉channels代码,一切都运行得很好。这是我
的
代码: "fmt") func main()
浏览 2
提问于2017-12-05
得票数 0
回答已采纳
1
回答
戈朗: select语句中
的
频道有时只接收(?)
select
、
go
、
channel
在发送doneChan之后,我还试图进入一个没完没了
的
循环,但结果是相同
的
。 那可能是什么?
浏览 0
提问于2015-01-17
得票数 0
回答已采纳
4
回答
令人困惑
的
C++情况
c++
、
recursion
我有当前
的
“
递归
”情况:{ add(myVal);即使条件在第二次(在
递归
时)不成立。它将完成函数
的
执行,并继续将acc设置为0。我想/希望?编辑:我没有张贴完整
的
代码,因为我不认为这是必要
的
。这有点长。值得一提
的
是,condition并不总是正确
的</em
浏览 2
提问于2011-08-30
得票数 1
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
使用通道和模式
GO语言调试利器——dlv
使用互斥锁(Mutex)管理共享资源
高性能 Go的6 个技巧—Go 高级主题
周而复始,往复循环,递归、尾递归算法与无限极层级结构的探究和使用(Golang1.18)
热门
标签
更多标签
云服务器
ICP备案
实时音视频
即时通信 IM
对象存储
活动推荐
运营活动
广告
关闭
领券