# luan:Thread.luan
- `Thread.run(fn [, clean])`: runs `fn()` on a pooled thread, in a clone of the current interpreter (or a fresh one, keeping security, if `clean` is true). `fn` is made immutable. Errors are logged, not thrown to the caller.
- `Thread.sleep(millis)`: Java's `Thread.sleep`.
- `Thread.schedule(fn, options)`: runs `fn` later, in a clone of the current interpreter. Options: `delay` (milliseconds before the first run), and `repeating_delay` (milliseconds between the end of one run and the start of the next) or `repeating_rate` (milliseconds between starts). With no options, it runs once, right away. A site's interpreter keeps a list of things to close, and closing it (as when the site reloads) cancels the task. From the command line nothing cancels a repeating task, so the program never exits.