JavaScript is single threaded - Silverlight is not, but interaction between JavaScript and Silverlight must be performed on the Silverlight UI thread.
However, what exactly is the relationship between the Silverlight UI thread and the JavaScript thread? Are they by any definition the same thread, or separate threads with the interactions performed purely through the respective event loops and blocking one thread when waiting for the other (when evaluating/calling JavaScript from Silverlight for example)? Put another way, can JavaScript execute concurrently with Silverlight actions on the UI thread (and can multiple Silverlight instances hosted in the same page have their UI threads running concurrently)?