这是一个问题,在一次采访中问我,我不知道他在问什么。
如果您能提供同样的帮助:
sleep, wait, notify, yield
- 哪个是回调?
您列出的所有方法都不是回调。整个Thread
类只包含一个用户可重写的方法,即run
,它可以被认为是该类的回调方法,因为它是由Thread
的内部调用的。但是,最佳实践是根本不扩展Thread
。提供你自己的Runnable
实现,它有它的回调run
方法。
这些都不像传统的回调。回调函数/方法是您注册后在操作完成后调用的东西(如果任务被安排在另一个线程中,则可能是异步的)。
Sleep、wait 和 yield 基本上会阻塞执行,直到满足它们的条件。通知唤醒被等待阻塞的线程。
回调是一种方法,它被创建为在某个时间/事件从其他地方调用。
sleep()
, wait()
, 和yield()
由线程调用以执行操作。notify()
可能被解释为一个,因此如果一个是正确的,那么它是更正确的答案,尽管没有一个是正确的。