腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
地图
通道
的
设计模式?
、
、
我正在用golang写一个DNS协议解析器,想法是使用这样
的
映射因此,对于tidMap映射,键是tid (事务ID),值是字节数组
通道
这样做
的
想法是,一个
goroutine
将尝试从
通道
中获取值,
另一个
goroutine
将通过侦听每个传入
的
数据包来尝试
读取
字节,一旦找到了事务ID,就会将响应数据
设置
为tidMap,因此前一个
gorout
浏览 2
提问于2014-01-23
得票数 0
回答已采纳
1
回答
为什么我需要一个
goroutine
才能让它工作?
我不是100%清楚为什么我
的
代码不能工作 package mainimport ( "sync" func但我认为在发送中有
等待
意味着程序将在那里
等待
,直到在该函数中创建
的
go例程完成,并且只有在它们都完成后才会转到receive函数,因此
通道
被填充了吗?
浏览 8
提问于2021-04-29
得票数 1
回答已采纳
3
回答
为什么
通道
接收
的
顺序会导致/解决Golang中
的
死锁?
、
我把我
的
问题归结为下面这个简单
的
例子。我正在调用一个接收两个
通道
并向每个
通道
发送一个消息
的
goroutine
。然后,我正试图进一步接收这些信息。然而,接收渠道
的
顺序是重要
的
。如果我使用与发送消息相同
的
顺序,程序将运行。如果我换了它就不会了。 我原以为戈鲁蒂能独立运行,不需要检索消息,我就可以从我想要
的
任何频道接收到信息。我可以通过发送消息给每个
goroutine
(2个
goroutine</
浏览 6
提问于2022-02-22
得票数 0
回答已采纳
1
回答
在func ()上发送和接收频道
我一直在学习渠道和教科书
的
例子似乎简单易懂。但是,我无法理解以下行为。message := make(chan string,1) fmt.Println(<-message) *感谢Joe McMahon
的
回答*我假设缓冲区1(与2不同)也会阻塞主例程,直到它找到相应
的
接收器。它看起来像一个1
的
缓冲区,工作起来像0&1,并且不会阻止第0次写/读
的
代码。要演示使用缓冲区<e
浏览 0
提问于2018-12-19
得票数 4
回答已采纳
2
回答
围棋关闭
通道
、
我正在学习频道如
何在
围棋中工作,并偶然发现了关闭频道
的
问题。这是Go之旅
的
一个修改示例,它生成n-1斐波纳契数并通过
通道
发送,留下
通道
容量
的
最后一个“元素”未使用。当我不关闭频道
的
时候。究竟是什么导致了僵局?当我不关闭频道
的
时候,为什么我不能从它
的
容量边界接收它呢?
浏览 2
提问于2016-04-17
得票数 0
回答已采纳
1
回答
允许在net.Conn和频道上进行Go例程选择
的
方法?
我觉得这一定是一种常见
的
Go模式,但似乎找不到解决方案。 假设有一个Go应用程序正在建立出站TCP连接。我将使用net.Dial,并在连接后生成一个Go例程来处理套接字(net.Conn)。这是非常简单和常见
的
。我想知道
的
是什么是最好
的
方法让这个Go例程有一个
通道
,它正在读写来自这个套接字
的
消息?select只能在
通道
上
等待
,而不能在net.Conn上
等待
。是否要轮询套接字以获取数据,然后检查
通道
以获取数据?这似乎是
浏览 17
提问于2020-09-03
得票数 0
回答已采纳
1
回答
<<Go编程Language>>中一个奇怪
的
问题
、
、
描述:在调用任何其他函数之前,必须调用func New()来插入容器。例如:如果同时有多个
goroutine
调用func (),那么服务器
goroutine
的
循环中会以串行方式处理请求吗? * create a memo and run the monitor
g
浏览 1
提问于2020-04-11
得票数 1
回答已采纳
2
回答
如何向高亮初学者解释
通道
阻塞机制?
、
、
我
的
问题之一是黄金
通道
阻塞机制是如何工作
的
。这个提示并没有给我多少关于错误发生
的
知识。我已经在谷歌上搜索过了,但我收到
的
几乎每一篇文章都是关于频道
的
深层机制
的
,或者它假设理解单个单词
的
读者block已经提供了所有的信息。但作为初学者,我有很多疑问,比如: 如果一个频道被阻塞了,其他
的
程序还能给它发信息吗?我
浏览 2
提问于2021-06-07
得票数 0
1
回答
无法从关闭
的
非缓冲
通道
读取
、
、
我知道我们可以从缓冲
的
关闭频道上读到。所以,我很有信心,我们也可以从没有缓冲。然而,我无法测试它。func main() { go test(c)}panic: send on closed channel
goroutine
首先,应该在
通道
被c<-5关闭之前执行test go routine。然而,情况并非如此。有人能告诉我cooperative scheduling什么时候不在这里工作吗?
浏览 3
提问于2022-04-01
得票数 -2
2
回答
正在中止来自
另一个
goroutine
的
Read()调用
、
我们当前
的
体系结构有一个
goroutine
从套接字
读取
数据,解析命令,然后通过
通道
发送逻辑命令。
另一个
goroutine
从该
通道
读取
并执行命令。这在总体上工作得很好。但是,在执行STARTTLS时,我们需要停止当前正在进行
的
Read()调用,否则该Read()将消耗TLS握手中
的
字节数。我们可以在其间插入
另一个
类,但是那个类将在Read()调用中被阻塞,我们也会遇到同样
的
问题。如果
浏览 0
提问于2013-07-29
得票数 0
3
回答
为什么我
的
通道
会死锁?
我正在尝试编写一个简单
的
Go脚本,它可以计算自然数之和,最大值为8:import "fmt" main.sum(0x44213af00, 0x800000004, 0x420fbaa0, 0x2f29f, 0x7aaa8, ...)main.go:9 +0x6e main.go:16 +0xe6
goroutine
2 [syscall]:
浏览 0
提问于2012-12-27
得票数 1
回答已采纳
1
回答
使用简化编程使多个函数同时工作
、
、
、
我在Go中开始学习并发性,在阅读了一些示例之后,我想尝试一个系统,在这个系统中,每秒钟都会在终端中打印当前
的
时间,用户可以在终端中输入任何文本,并且在终端中打印出相同
的
文本(或者我们可以做任何其他
的
事情,比如,如果只写了一篇将被打印出来
的
特定文本)。基本上,我想出这个表单来编写我
的
代码: 函数输出每个secondGetInput:函数检查用户输入
的
时间,如果输入不是空
的
,获取它
的
值并将其放入
另一个
函数将要从一个值
读取
浏览 6
提问于2022-07-07
得票数 0
1
回答
是否可以使用select从多个
goroutine
中安全地关闭一次
通道
?
、
、
、
我
的
解决方案如下所示,但是在下面的代码中是否存在竞争条件(它会出现恐慌)吗?
浏览 26
提问于2021-04-12
得票数 0
回答已采纳
2
回答
非缓冲信道-多值传递
THIS LINE }() fmt.Println(v)} 我对了解缓冲
通道
和非缓冲
通道
之间
的
区别有点陌生,但我不确定这段代码是如何工作
的
。既然out
通道
没有缓冲,那么它不应该造成死锁吗?我遗漏了什么?
浏览 2
提问于2020-06-28
得票数 0
回答已采纳
2
回答
非缓冲信道上
的
死锁
、
我目前正在学习教程,并进入了有关频道
的
部分,在进行一些测试时,我发现了一种我很难理解
的
奇怪行为package main c := make(chan string, 1) fmt.Printf("%v", <- c)或将值
设置
为不同线程上
的
通道</em
浏览 9
提问于2021-05-26
得票数 1
回答已采纳
5
回答
使用Go检查
通道
是否具有可供
读取
的
值
、
如何检查
通道
是否有可供
读取
的
值? 我不想在
读取
频道时阻塞。我想看看它有没有价值。如果有的话,我会读
的
。如果它还没有,我会做一些其他
的
事情,稍后再检查。
浏览 3
提问于2010-08-04
得票数 42
回答已采纳
3
回答
遇到缓冲和未缓冲信道
的
问题
对于Go中缓冲频道和非缓冲频道之间
的
区别,我有点困惑。func() { messages <- "ping" }() fmt.Println(msg)另一方面,当我将"ping"传递给常规函数中
的
消息时chan string) msg := <-messages} 最后,当我使用缓冲
通道<
浏览 1
提问于2020-07-02
得票数 2
回答已采纳
3
回答
在接收值之前,golang
通道
死锁
正如我所理解
的
,
goroutine
异步地发送值true到a和12到b。在主函数中,a被阻塞,直到它接收到一个值。为什么当我重新排列它使b在a之前被阻塞时,它会导致死锁?
浏览 0
提问于2019-01-24
得票数 2
回答已采纳
2
回答
在侦听和服务时使用缓冲信道处理go中
的
错误
、
我正在学习使用go构建web服务器
的
教程。 serverErrors := make(chan错误,1) 使用缓冲
通道</e
浏览 1
提问于2019-12-22
得票数 4
回答已采纳
1
回答
通道
未关闭时,为什么没有死锁?
通道
未关闭时,为什么没有死锁?
浏览 14
提问于2019-03-15
得票数 0
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
如何在不导致服务器宕机的情况下,用 PHP 读取大文件
使用通道和模式
GO语言的并发Concurrency:Goroutine与通信机制Channel
区块链技术语言——Go语言并发编程(上)
Go语言中的sync包同步原语
热门
标签
更多标签
云服务器
ICP备案
云直播
对象存储
腾讯会议
活动推荐
运营活动
广告
关闭
领券