zoukankan      html  css  js  c++  java
  • asp.net多线程在web页面中简单使用

    需求:
    一个web页面 default.aspx 里面有两个控件GridView1,GridView2,通过两个线程分别加载绑定数据。

    绑定GridView1:
    void BindCategory()
        {


            SqlConnection conn = ReturnSqlconn();
            SqlCommand comm = new SqlCommand("select * from category", conn);
            conn.Open();
            SqlDataReader sdr = comm.ExecuteReader();


            GridView1.DataSource = sdr;
            GridView1.DataBind();
        }

    绑定GridView2:

    void BindNews()
        {
            SqlConnection conn = ReturnSqlconn();
            SqlCommand comm = new SqlCommand("select * from News", conn);
            conn.Open();
            SqlDataReader sdr = comm.ExecuteReader();


            GridView2.DataSource = sdr;
            GridView2.DataBind();


        }

    加载两个方法,绑定数据:

    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                try
                {
                    Thread categoryThread = new Thread(new ThreadStart(BindCategory));
                    Thread newsThread = new Thread(new ThreadStart(BindNews));


                    categoryThread.Start();
                    newsThread.Start();


                    categoryThread.Join();
                    newsThread.Join();
                }
                catch (Exception ex)
                {
                    Response.Write(ex);
                }
            }
        }


    实现效果


    注意:
    categoryThread.Join();
    newsThread.Join();
    这两个函数很关键,否则导致页面绑定失败;Join方法使创建的2个线程与页面加载同步;Join在MSND上的解释是:在继续执行标准的 COM 和 SendMessage 消息泵处理期间,阻塞调用线程,直到某个线程终止为止。

    通过此方法可以实现单个页面的多线程处理以提高效率。

    北京网站建设

  • 相关阅读:
    Maven项目文档
    Maven外部依赖
    Nexus使用
    android -chrome 调试
    gradle问题 cordova
    OTS parsing error: invalid version tag woff和ttf文件被Filter拦截
    生产者和消费者模式--java设计模式
    Procedure-Function oracle
    ImageIO(图像处理)
    wpf表单验证
  • 原文地址:https://www.cnblogs.com/superfeeling/p/4512836.html
Copyright © 2011-2022 走看看