I'm afraid I'm not very knowledgeable with threading so my advice stops there.

That would make a great PGD tutorial btw! (How To Use Multithreading In Your Games 101)