| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Threading;
- using Core.Mes.ClientFrameWork;
- using System.IO;
- using System.Configuration;
- using System.Diagnostics;
- using System.Data;
- namespace DataTest
- {
- class Program
- {
- static void Main(string[] args)
- {
- //Thread thread1 = new Thread(new ThreadStart(GetTestData));
- //thread1.Start();
- //Console.WriteLine("线程1开始运行...");
- //Thread thread2 = new Thread(new ThreadStart(GetTestData));
- //thread2.Start();
- //Console.WriteLine("线程2开始运行...");
- //Console.Read();
- string url = ConfigurationManager.AppSettings["RemoteServerUrl"];
- ClientCommon._RemotingHelp.InitServerUrlList("ServerCommon", url);
- arevent = new AutoResetEvent(false);
- timer.Elapsed += new System.Timers.ElapsedEventHandler(Timer_ElapsedEvent);
- timer.Interval = 10 * 1000;
- timer.Start();
- Console.Read();
- //#region 多线程
- //for (int i = 0; i < 7; i++)
- //{
- // int a = i;
- // count = i;
- // ThreadPool.QueueUserWorkItem(new WaitCallback(delegate { GetTestData(a); }));
- //}
-
- //Console.Read();
- //#endregion
- }
- private static int j = 0;
- private static void Timer_ElapsedEvent(Object obj, System.Timers.ElapsedEventArgs args)
- {
- #region 多线程
- for (int i = 0; i < 5; i++)
- {
- int a = i;
- count = i;
- ThreadPool.QueueUserWorkItem(new WaitCallback(delegate { GetTestData(a); }));
- }
- //j++;
- //if (j == 1)
- // timer.Stop();
- Console.Read();
- #endregion
- }
- private static int count = 0;
- private static int errnum = 0;
- static AutoResetEvent arevent = null;
- static System.Timers.Timer timer=new System.Timers.Timer();
-
- private static void GetTestData(Object a)
- {
- if (count == 4)
- arevent.Set();
- else
- {
- arevent.WaitOne();
- }
- try
- {
- Stopwatch watch = new Stopwatch();
- watch.Start();
- string strOut = "";
- DataSet obj = ClientCommon._RemotingHelp.ExecuteMethod("ServerCommon", "Core.Mes.ServerCommon.UserInfoManager", "SelectTestUser", null, out strOut) as DataSet;
- if (strOut != "")
- {
- Console.WriteLine("失败:" + strOut);
- errnum++;
- Console.WriteLine("连接失败次数:{0}", errnum);
- }
- Console.WriteLine("");
- Console.WriteLine("线程{0}开始运行...{1}", a, DateTime.Now.ToString());
- watch.Stop();
- if (watch.Elapsed.Milliseconds == 30000)
- {
- Console.WriteLine("执行超时。。。");
- return;
- }
- Console.WriteLine("线程{0}运行时间:{1}ms", a, watch.ElapsedMilliseconds.ToString());
- if (obj != null && obj.Tables.Count > 0)
- {
- //Console.WriteLine("数据:{0}\r\n",obj.Tables[0].Rows[0][0].ToString());
- Console.WriteLine("数目:" + obj.Tables[0].Rows.Count.ToString() + "\r\n");
- obj.Clear();
- obj.Dispose();
- GC.Collect();
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine("出错啦,跑不动啦~:"+ex.Message);
- }
-
-
-
- }
-
- }
- }
|