static is thread local by default. ``` module main; import app; import core.thread;
int main(string[] args) { static shared int result; static shared string[] args_copy; static void app_thread() { App app = new App(); result = app.run(args_copy); } args_copy = cast(shared)args; // Running app interface in a thread; Thread thread = new Thread(&app_thread).start(); thread.join(); return result; } ```