首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

为啥不能这样写呢

2013-04-21 
为什么不能这样写呢? protected void Button1_Click(object sender, EventArgs e){new Thread(new ThreadS

为什么不能这样写呢?

 protected void Button1_Click(object sender, EventArgs e)
        {
            new Thread(new ThreadStart(() =>
            {
                aa();
            }
            )).Start();

Response.Write("bb");
        }

        public void aa()
        {
            for (int i = 0; i < 10; i++)
            {
                Thread.Sleep(1000);
                Response.Write("aa");
                
            }
        }



为什么执行不到aa()方法呢

直接提示
[解决办法]
唯一能想到的就是你的asp.net项目 没有target .net framework 3.0
[解决办法]
现在的.net怎么越来越像js了,晕。

看到多线程头大了。帮顶
[解决办法]
        Thread t1 = new Thread(aa);
        t1.Start();
        Response.Write("bb");
        t1.Join();


    public void aa()
    {
        for (int i = 0; i < 10; i++)
        {
            Response.Write("aa");
        }
    }

这样
[解决办法]
我觉得是 当 Button1_Click这个结束以后不能再 aa()里再调用Response.Write前台写数据了

Response.Write("bb");前加Thread.Sleep(1000);

能运行一些aa()


[解决办法]
缺少等待aa进程,b/s和c/s还是有所区别的
t1.Join();


引用:
引用:
Thread t1 = new Thread(aa);
        t1.Start();
        Response.Write("bb");
        t1.Join();


    public void aa()
    {
        for (int i = 0; i < 10; i++)
    ……

[解决办法]
aa()方法是子线程


没有 阻塞 主线程 Button1_Click 方法
所以没有同步输出

[解决办法]

引用:
引用:
缺少等待aa进程,b/s和c/s还是有所区别的
t1.Join();


引用:引用:
Thread t1 = new Thread(aa);
        t1.Start();
        Response.Write("bb");
……


不是不能用,是我刷新几次见没有什么变化,所以故意去掉的,这样就可以看到bb有时在前边,有时在后边,效果就很显示了
[解决办法]
网页里面根本没必要使用线程,直接 aa();
[解决办法]

    public void aa()
    {
        for (int i = 0; i < 10; i++)
        {
            Response.Write("aa");
            Thread.Sleep(1);
        }
    }

先输出,再等待
[解决办法]
        Thread t1 = new Thread(aa);
        t1.Start();
        Response.Write("bb");
        Thread.Sleep(1);
        Response.Write("cc");
        t1.Join();

    public void aa()
    {
        for (int i = 0; i < 10; i++)
        {
            Response.Write("aa");
            Thread.Sleep(1);
        }
    }


这样就明显了

热点排行