-
asp.net在web页面中使用多线程
网络 2016/1/16 13:26:24一个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 消息泵处理期间,阻塞调用线程,直到某个线程终止为止。
通过此方法可以实现单个页面的多线程处理以提高效率。阅读(2922) 分享(0)
上一篇: jQuery对应的原生js写法
下一篇: asp.net怎么实现多线程断点续传?