腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
如果
Goroutine
结束
并
关闭
错误
通道
,
如何
缓存
?
go
、
goroutine
我已经创建了
错误
通道
,
如果
某些
错误
出现在
goroutine
中,它应该将其写入
通道
。所以我有两个问题:
如何
捕获所有goroutines是否都已完成
并
关闭
错误
通道
,以便从" for“循环中断以继续主函数执行?
如果
在每个例程中,我都会调用一些将值附加到全局变量的函数,那么竞态条件会有什么问题吗?
如果
是,
如何
处理。
浏览 29
提问于2021-02-25
得票数 1
回答已采纳
1
回答
这是在go中使用
通道
的正确方式吗?
go
在这里,我试图迭代res,并为每一项启动一个
goroutine
。在每个
goroutine
中,我再次在缓冲
通道
中启动3个
goroutine
。 运行此代码会阻止完成,并且不允许程序完成。
浏览 0
提问于2018-02-27
得票数 1
1
回答
在Go中释放
通道
go
、
channel
我正在编写一个从
通道
读取数据的
goroutine
。
如果
TCP连接断开,则read from the go例程将检测到
错误
并
停止。 但是我
如何
释放一个有
goroutine
写入的
通道
呢?有没有像chan.release()这样的方法,或者我应该发布一个特殊的数据包,告诉
goroutine
结束
?
浏览 3
提问于2013-02-13
得票数 3
回答已采纳
2
回答
同步频道和等待组的最佳实践是什么?
go
我想要处理消息并在循环中阻塞,似乎将
通道
的
关闭
委托给另一个go例程似乎是一个奇怪的解决方案。
浏览 3
提问于2016-12-17
得票数 5
回答已采纳
3
回答
如何
测试
通道
是否
关闭
,
并
仅在
通道
未
关闭
时向其发送
go
、
channel
在Go中,
如果
通道
channel是
关闭
的,我仍然可以使用以下语法读取它,并且我可以测试ok以查看它是否
关闭
。if !ok {} 但是,
如果
我不知道
通道
是否
关闭
并
盲目地写入它,我可能会得到一个
错误
。我想知道是否有任何方法可以测试
通道
,
并
仅在
通
浏览 20
提问于2016-08-30
得票数 32
2
回答
缓冲
通道
并
关闭
它
go
我有一个代码片段,我试图根据我
如何
放置close调用和位置来理解这些代码。当我把
关闭
在Pos1,它工作得很好。但我不知道为什么会起作用。缓冲区在任何给定时间都不能容纳两个以上的元素,因此当写入两个元素时,循环将被阻塞,直到主路由完成读取。但是我想要在缓冲
通道
上做一个范围,range函数必须事先知道要迭代多少个元素,并且必须
关闭
该
通道
。为什么close在这个职位上工作?当我把它作为位置2时,它只打印两个元素--哪种类型是有意义的--但是为什么当for loop试图向
关闭
的
通道</e
浏览 0
提问于2018-06-22
得票数 1
回答已采纳
1
回答
关闭
服务器端,但客户端仍有连接。
go
、
websocket
websocket用于将更新后的用户数据发布到客户端,
如果
在数据库中对其进行更改,这将非常有效,除非在某些情况下websocket不接收任何数据。几秒钟后,websocket再次开始工作。之后,
如果
数据库发生变化,它会将更新后的用户列表发布到
通道
中-- websocket应该将其发布到更新列表的客户端。我们还发送ping消息--失败(如上面的日志所示)。客户端本身不会记录任何
错误
或
关闭
websocket。
浏览 0
提问于2018-11-21
得票数 0
回答已采纳
1
回答
具有一个接收器的
通道
和未知数量的goroutines发送器导致死锁
go
、
deadlock
、
channel
、
goroutine
我产生了多个
goroutine
,每个
goroutine
都通过
通道
发送一个字符串。 现在,这会导致死锁,因为我没有使用close函数正确地
关闭
通道
。问题是,我不知道将创建多少goroutines,因此无法知道何时
关闭
通道
。,假设它在运行时是未知的,这里我立即得到一个死锁
错误
,没有任何输出,
如果
我不使用WorkGroup,我在打印第10个字符串之前得到
错误
(因为我没有
关闭
通道
) 我还试
浏览 15
提问于2019-01-13
得票数 2
回答已采纳
2
回答
在侦听和服务时使用缓冲信道处理go中的
错误
go
、
goroutine
然后,他接着说: serverErrors := make(chan
错误
,1) 在下面的程
浏览 1
提问于2019-12-22
得票数 4
回答已采纳
1
回答
Go的sync.WaitGroup失去了一个回应
go
、
concurrency
、
synchronization
、
channel
、
goroutine
我试图通过自己在
goroutine
中添加time.Sleep来依次发送http请求。
浏览 0
提问于2018-06-11
得票数 5
回答已采纳
3
回答
为什么Go的频道可以
关闭
两次?
go
、
channel
当我在做一些go练习代码时,我遇到了一个问题,一个
通道
可能会像这样
关闭
两次: "fmt"}~ go run jobs.goreceive close: 0 false但是当我手动
关闭
通道
两次时
浏览 0
提问于2017-05-03
得票数 2
回答已采纳
4
回答
为什么
goroutine
中的fmt.Println不打印一行?
go
// handle it } }()
如果
我没有在
goroutine
中读取缓冲区的代码,它会输出如下消息,这是我期望发生的事情:有人能解释一下这是为什么吗?
浏览 2
提问于2013-04-26
得票数 74
回答已采纳
1
回答
“完成”
通道
和默认情况会导致
goroutine
泄漏吗?
go
、
select
、
default
、
channel
、
goroutine
有两种类似的情况,我想与您进行比较--唯一的区别是处理值生成的方法。package main "fmt" "time" generateValues := func(done <-chan interface{}) <-chan int { go func() { defer fmt
浏览 3
提问于2022-01-29
得票数 1
1
回答
优雅地
关闭
通道
而不发送
关闭
通道
go
、
concurrency
jobWrites)时,有时会打印nResults和countWrites的不同值(在最后两条语句中)
如何
确保发送到作业的值不在
关闭
通道
上,然后在收到所有值之后,我们可以在没有死锁的情况下
关闭
通道
?
浏览 3
提问于2022-11-17
得票数 1
回答已采纳
2
回答
在Go中
关闭
自给式
通道
multithreading
、
go
、
concurrency
、
channel
、
goroutine
我正在尝试在Go中使用并发和
通道
。我面临的问题主要是并发的想法,所以我不会放弃以下逻辑是
错误
的或应该改变的。问题是我总是遇到死锁,因
浏览 2
提问于2018-08-07
得票数 0
1
回答
Golang
Goroutine
错误
“所有goroutines都睡着了-死锁!”
go
、
deadlock
、
channel
、
goroutine
我正在尝试做一个代码来扫描从一个文件夹链接我的所有文件,
并
根据他的大小与他的内容和他的名字也与regexp的“前10名”。文件。return append(files_ten, f) wg.Done() }下面是我每次编译它时的
错误
goroutine
1 [chan send]: C:/Users
浏览 0
提问于2017-12-15
得票数 1
1
回答
如何
存储goroutines的标识,以便稍后可以停止它们
go
我正在尝试创建多个goroutines,
并
保持它们同时运行。然后,当一个请求进来时,我想要识别它们中的一个,
并
只停止那个特定的
goroutine
,而其余的继续mm := remote_method.NewPlayerCreator() /
浏览 25
提问于2019-03-27
得票数 -4
回答已采纳
2
回答
等待go例程完成,然后从
通道
读取
go
、
concurrency
、
channel
、
goroutine
如何
等待所有go例程完成,然后从
通道
中读取所有数据? 为什么这个例子在等待go例程
结束
时卡住了?
浏览 27
提问于2020-02-11
得票数 2
回答已采纳
3
回答
终止第二个
goroutine
go
我作为参数传递一个
错误
类型的
通道
。
如果
其中一个先完成,它应该通过
通道
发送
错误
并
关闭
它。所以第二个,仍在运行着的
goroutine
,不再运行了,因为我已经得到了
错误
,我想终止仍在运行的
goroutine
。这就是我在上面的例子中试图达到的目的。当我运行程序时,我有
错误
main.
浏览 6
提问于2015-01-14
得票数 1
回答已采纳
2
回答
未知长度闭合
通道
go
、
concurrency
、
channel
我无法
关闭
频道时,不知道它的package main "fmt") var i intch := make(chan int) go gen(ch)}
goroutine
8 [r
浏览 3
提问于2015-12-15
得票数 2
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
轻松搞定Golang爬虫实战
区块链技术语言——Go语言并发编程(上)
go基础简介
go语言核心—channel学习
Golang并发模型:轻松入门流水线模型
热门
标签
更多标签
活动推荐
运营活动
广告
关闭
领券