19 lines
333 B
Kotlin

package drills.drill03.exercise2
import java.io.Serializable
interface Agent : Serializable, Runnable {
fun start()
fun migrateTo(node: Node)
}
abstract class AbstractAgent : Agent {
override fun start() {
Thread(this).start()
}
override fun migrateTo(node: Node) {
node.migrate(this)
}
}