using System; using System.Collections.Generic; using System.Linq; using System.Text; using com01Lib; using System.Threading; using System.Net; namespace csmcomtest { public class Alpha { private string site_; private string key_; public Alpha(string text, string key) { site_ = text; key_ = key; } public void Beta() { Console.WriteLine("beta start"); myob sam = new myob(); string type = ""; while (true) { sam.GetUrlType(site_, key_, "url1.esoft.com", out type); Console.WriteLine(site_ + ":" + type); } Console.WriteLine("beta end"); } }; class Program { static void Main(string[] args) { WebClient client = new WebClient(); string key = ""; try { key = client.DownloadString("https://subscriptions.esoft.com/api/GetRBLKey.php?OEMKey=1001130-62db"); } catch (WebException ex) { Console.WriteLine("err: get key failed:/n{0}/n", ex.ToString()); Console.ReadLine(); return; } key = key.Substring(0, key.Length - 1); Alpha oAlpha = new Alpha("http://kasicass.blog.163.com/blog/static/39561920083110518561/", key); Alpha oAlpha2 = new Alpha("163.com", key); Alpha oAlpha3 = new Alpha("wps.com", key); Alpha oAlpha4 = new Alpha("mail.google.com", key); Thread oThread = new Thread(new ThreadStart(oAlpha.Beta)); Thread oThread2 = new Thread(new ThreadStart(oAlpha2.Beta)); Thread oThread3 = new Thread(new ThreadStart(oAlpha3.Beta)); Thread oThread4 = new Thread(new ThreadStart(oAlpha4.Beta)); try { Console.WriteLine("Try to start the Alpha.Beta thread"); oThread.Start(); oThread2.Start(); oThread3.Start(); oThread4.Start(); } catch (ThreadStateException) { Console.Write("ThreadStateException trying to restart Alpha.Beta. "); Console.WriteLine("Expected since aborted threads cannot be restarted."); Console.ReadLine(); } oThread.Join(); oThread2.Join(); Console.WriteLine("Alpha.Beta has finished"); } } }