向服务器发送了两个异步请求 结果却总是同时返回

js代码

  window.onload = function ()
        {
            gp();
            gp1();
        }

                function gp() {
                $.ajax({
                    type: "post",
                    url: "Filepro.aspx",
                    data: {
                        type: "gp"
                    },
                    success: function (data) {
                        alert(data);
                        setTimeout("gp()", 500);
                    },
                    error: function (data) {

                    }
                })
            }
        }

        function gp1() {
                $.ajax({
                    type: "post",
                    url: "Filepro1.aspx",
                    data: {
                        type: "gp"
                    },
                    success: function (data) {
                        alert(data);
                        setTimeout("gp1()", 500);
                    },
                    error: function (data) {

                    }
                })
        }

asp.net 代码

//Filepro.aspx
 String tag = Request.Form["type"];
        String a = "";
        if (tag.Equals("gp"))
        {

            Thread.Sleep(5000);
                Response.Write("我是0");
                Response.End();
        }

                //Filepro1.aspx
                 String tag = Request.Form["type"];
        String a = "";
        if (tag.Equals("gp"))
        {
                Response.Write("我是1");
                Response.End();
        }

前台就是简单的发了两个异步请求出去 服务器有两个页面分别处理这两个请求,其中一个做了延时,我想要的效果是在大概五秒时间里 服务器返回N个“我是1”返回一个“我是0”但现在的现像是这两个请求总是大概五秒一次的同时返回,是服务器把这两个异步请求当成一个去处理了吗?其中一个Sleep的时候 另一个也被指挂起了? 我想要的那种效果应该怎么实现 请指教!

貌似你这两个请求都会进入 if (tag.Equals("gp")),都会停顿,而且你也没有同步,所以可能是分别停顿了互不影响的5秒,最后一起返回