strange things happened when call from C# to Javascript
===

I create two threads to invoke CallJavascriptFunction(). If the time two threads invoke CallJavascriptFunction() is close, then seems like Javascipt's function was executed once, because the alert dialog only popped out once.

In Awesomium, how Javascript execution engine handles call from C# side? Simultaneous calls 
will be disregarded? 

My code is like this: 
    private int count = 0;

        private void OnJSCallback(object sender, JSCallbackEventArgs e)
        {
            Console.WriteLine("hi");
            //MessageBox.Show("hi");

            if (count == 0)
            {
                Thread worker = new Thread(func =>
                    {
                        Thread.Sleep(3000);
                        OnReturn();
                    });
                worker.Start();
            }
            if (count == 1)
            {
                Thread worker = new Thread(func =>
                {
                    Thread.Sleep(3500);
                    OnReturn();
                });
                worker.Start();
            }
            count++;
        }

        private void OnReturn()
        {
                webControl.Dispatcher.BeginInvoke((ThreadStart) delegate()
                {
                    Console.WriteLine("before call javascript");
                    webControl.CallJavascriptFunction("", "CallFromNative", new JSValue[] {new JSValue("hello")});
                });
        }