正在查看源代码的源代码,下面是sleep.go的一个片段(封装时间):
package time
// Sleep pauses the current goroutine for at least the duration d.
// A negative or zero duration causes Sleep to return immediately.
func Sleep(d Duration)
// runtimeNano returns the current value of the runtime clock in nanoseconds.
func runtimeNano() int64
func Sleep(d Duration)怎么可能没有任何实现?我在哪里可以找到睡眠功能的确切实现?
编辑:答案可以在@DaveC提供的2个链接中找到。但是请阅读下面的评论,看看有关为什么在自举Go(1.5)之后无法用Go替换空函数的解释
答案 0 :(得分:1)
考虑Sleep()
做了什么(它在一定时间内取消了golang线程),你无法表达它,所以它可能被实现为某种编译器的内在。
哇,这里有很多的投票。看起来Sleep
实际上是implemented in assembly。