4

这是一个问题,在一次采访中问我,我不知道他在问什么。
如果您能提供同样的帮助:

sleep, wait, notify, yield- 哪个是回调?

4

3 回答 3

5

您列出的所有方法都不是回调。整个Thread类只包含一个用户可重写的方法,即run,它可以被认为是该类的回调方法,因为它是由Thread的内部调用的。但是,最佳实践是根本不扩展Thread。提供你自己的Runnable实现,它有它的回调run方法。

于 2013-09-05T12:07:41.183 回答
2

这些都不像传统的回调。回调函数/方法是您注册后在操作完成后调用的东西(如果任务被安排在另一个线程中,则可能是异步的)。

Sleep、wait 和 yield 基本上会阻塞执行,直到满足它们的条件。通知唤醒被等待阻塞的线程。

于 2013-09-05T12:08:32.020 回答
1

回调是一种方法,它被创建为在某个时间/事件从其他地方调用。

sleep(), wait(), 和yield()由线程调用以执行操作。notify()可能被解释为一个,因此如果一个是正确的,那么它是更正确的答案,尽管没有一个是正确的。

于 2013-09-05T12:04:47.100 回答