在另一个例程中调用 SetReadDeadline 的用法是否正确?

Pro*_*ter 1 go goroutine

在大多数示例中,SetReadDeadline在调用 之前调用net.Conn.Read()

在我的程序中,为了中断我的net.Conn.Read(),我调用net.Conn.SetReadDeadline(time.Now())另一个线程/例程。这是正确的方法吗?

谢谢。

Bur*_*dar 5

正如文档所述:

SetReadDeadline 设置未来 Read 调用和任何当前阻止的 Read 调用的截止日期。t 的零值意味着读取不会超时。

为阻塞的读取调用调用 SetReadDeadline 的唯一方法是从另一个 goroutine 调用,所以这是可以的。