标签:
主线程:
1 private void GetPolicy_Load(object sender, EventArgs e) 2 { 3 ////ThreadPool.QueueUserWorkItem(new WaitCallback(ThreadSP)); 4 try 5 { 6 MessageBox.Show("开始"); 7 ManualResetEvent[] _ManualEvents = new ManualResetEvent[2]; 8 _ManualEvents[0] = new ManualResetEvent(false); 9 _ManualEvents[1] = new ManualResetEvent(false); 10 ThreadPool.QueueUserWorkItem(new WaitCallback(ThreadSP2), _ManualEvents[0]); 13 14 foreach (var v in _ManualEvents) 15 { 16 v.WaitOne(); 17 } 18 // 线程结束后执行后面的主线程代码 19 MessageBox.Show("结束了"); 20 } 21 catch (Exception ex) 22 { 23 24 } 25 }
ThreadSP2方法:
//信天游 获取政策(方法2) private void ThreadSP2(object obj) { ////处理方法 //string sql = "select id,start,end from tb"; //DataTable dt = SqlHelper.ExecuteDataset("连接字符串", System.Data.CommandType.Text, sql, null).Tables[0]; //List<string> list; //for (int i = 0; i < dt.Rows.Count; i++) //{ // list = new List<string>(); // list.Add(dt.Rows[i]["start"] + ";" + dt.Rows[i]["end"] + ";" + dt.Rows[i]["id"]); // GJShopping2 s1 = new GJShopping2(); // ThreadPool.QueueUserWorkItem(new WaitCallback(s1.GetShopping), list); // Thread.Sleep(1500); //} MessageBox.Show("ThreadSP2 方法执行了"); ManualResetEvent e = (ManualResetEvent)obj; e.Set(); }
多线程操作(ThreadPool.QueueUserWorkItem
标签:
原文地址:http://www.cnblogs.com/systemkk/p/4308531.html