HelolW rdlo (A threading challenge) I have a challenge for you:


Print "Hello World" using any language.
Each character must be printed from its own, unique thread


That's it. Obviously, as there's no guarantee that the threads will operate in the order you start them, you have to make your program thread safe to ensure the output is printed in the right order.

And, because this is code golf, the shortest program wins.

Update:

The winner is Marinus' APL entry, at 34 characters. It also wins the prize for the least readable entry.
C, 61 62 chars

i;main(){write(1,"Hello World\n"+i++,1);i&gt;13||fork()||main();}


The pthread library functions all have loooooong names, so instead I fired up an entire separate process for each character. fork() is so much shorter.

It was necessary to use write() instead of putchar() because the stdio buffering functions are not thread-safe.

Edited: Back up to 62 chars. In my zeal, dropping down to 61 chars also dropped the thread-safety.