go - 在另一个例程中调用SetReadDeadline是否正确?

标签 go goroutine

在大多数示例中,在调用SetReadDeadline之前先调用net.Conn.Read()
在我的程序中,要插入我的net.Conn.Read(),我在另一个线程/例程中调用net.Conn.SetReadDeadline(time.Now())。这是正确的方法吗?
谢谢。

最佳答案

如文档所述:

SetReadDeadline sets the deadline for future Read calls and any currently-blocked Read call. A zero value for t means Read will not time out.


可以调用SetReadDeadline进行阻止的读取调用的唯一方法是来自另一个goroutine,因此可以。

关于go - 在另一个例程中调用SetReadDeadline是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64939709/

相关文章:

go - 在 Go 中收到 SIGINT 时是否调用延迟函数?

go - 在 golang 中将 []uint32 转换为 []byte,反之亦然

amazon-web-services - 多年来无法预签名 URL?

http - 在 http 处理程序中执行 Goroutine

go - 在收听和服务时使用缓冲 channel 处理错误

image - 在 Go 中的 Goroutine 中运行和使用 SDL

go - 如何记录请求正文(通过中间件)而不进行缓冲?

go - 理解 Go 中的接口(interface)

mongodb - 如何删除 Mongodb/Golang 中的数组项?

go - 如何阻止程序/goroutine?