Q:

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.

A:

C, 61 62 chars
i;main(){write(1,"Hello World\n"+i++,1);i>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.

A:

APL (Dyalog) (44  43 39 34)
{⍞←⍺⊣⎕DL⍵}&⌿2 11⍴'Hello World',⍳11

Explanation:

2 11⍴'Hello World',⍳11 creates a matrix: (H,1), (e,2), ...
&⌿ means: for each column of the matrix, do on a separate thread:
In a thread, ⍺ is now the character and ⍵ is now the time
⎕DL⊃⍵ waits for ⍵ seconds.
Then, ⍞←⍺ outputs the character.

A:

Ruby, 46 characters
"Hello World".chars{|c|Thread.new{$><<c}.join}

It is synchronized due to the fact that the program waits for the thread to end before starting the next thread and continuing with the next char.

