?? parallelsearch.cs
字號:
using System;
using System.Threading ;
using System.Collections;
namespace WebApplication1
{
/// <summary>
/// 并行搜索的類
/// </summary>
public class parallelSearch
{
private ArrayList _results= null;
private string _keyword;
private DateTime _started;
private DateTime _end;
public parallelSearch()
{
//
// TODO: 在此處添加構造函數邏輯
//
}
private void addResult(result thisResult)
{
lock(_results)
{_results.Add(thisResult);
}
}
public TimeSpan totalTime
{
get { return _end.Subtract(_started); }
}
public ArrayList search(string keyword )
{
if (keyword==null && keyword=="")
return null;
_started=DateTime.Now;
_keyword=keyword;
_results=new ArrayList();
Thread ps1=new Thread (new ThreadStart (searchWebSites));
Thread ps2=new Thread (new ThreadStart (searchDatabases));
Thread ps3=new Thread (new ThreadStart (searchDirectoryServers));
ps1.Start ();
ps2.Start ();
ps3.Start ();
ps1.Join ();
ps2.Join ();
ps3.Join ();
_end=DateTime.Now;
return _results;
}
private void searchDatabases()
{
result r = new result("符合查詢關鍵字的記錄:\""+_keyword+"\"來自數據庫服務器中");
try
{
Thread.Sleep(1000);
r.links.Add( new link("書名- 《你今天心情不好嗎?》","HHFDESKTOP"));
Thread.Sleep(1000);
r.links.Add( new link("書名 - 《中國機械設計大典》","HHFDESKTOP"));
Thread.Sleep(1000);
r.links.Add( new link("書名 - 《甲骨文獻集成》","HHFDESKTOP"));
r.message="查詢結果:" + r.links.Count+ "項";
r.isCompleted =true;
}
catch(ThreadAbortException tae)
{
r.isCompleted =false;
r.message ="查詢結果:" + r.links.Count+ "項"+"在操作取消之前";
}
catch(Exception e)
{
r.isCompleted=false;
r.message ="查詢結果:" + r.links.Count+ "項"+"在操作出錯之前";
}
finally
{
addResult(r);
}
}
private void searchDirectoryServers()
{
result r = new result("符合查詢關鍵字的記錄:\""+_keyword+"\"來自目錄服務器中");
try
{
Thread.Sleep(1000);
r.links.Add( new link("員工 -書名 張大寶","/"));
r.links.Add( new link("員工 - 書名 劉愛山","/"));
r.message="查詢結果::" + r.links.Count+ "項";
r.isCompleted =true;
}
catch(ThreadAbortException tae)
{
r.isCompleted =false;
r.message ="查詢結果:" + r.links.Count+ "項"+"在操作取消之前";
}
catch(Exception e)
{
r.isCompleted=false;
r.message ="查詢結果:" + r.links.Count+ "項"+"在操作出錯之前";
}
finally
{
addResult(r);
}
}
private void searchWebSites()
{
result r = new result("符合查詢關鍵字的記錄:\""+_keyword+"\"來自WEB服務器中");
try
{
Thread.Sleep(2000);
r.links.Add( new link("簡體中文網頁-書名 《國王和國后》","HTTP://WWW.163.COM"));
Thread.Sleep(1000);
r.links.Add( new link("簡體中文網頁 -書名 《坐井之小青蛙》","HTTP://WWW.163.COM"));
Thread.Sleep(1000);
r.links.Add( new link("簡體中文網頁 -書名 《激情燃燒的歲月》","HTTP://WWW.163.COM"));
Thread.Sleep(1000);
r.links.Add( new link("簡體中文網頁 -書名《 林海雪原》","HTTP://WWW.163.COM"));
r.message="查詢結果:" + r.links.Count+ "項";
r.isCompleted =true;
}
catch(ThreadAbortException tae)
{
r.isCompleted =false;
r.message ="查詢結果:" + r.links.Count+ "項"+"在操作取消之前";
}
catch(Exception e)
{
r.isCompleted=false;
r.message ="查詢結果:" + r.links.Count+ "項"+"在操作出錯之前";
}
finally
{
addResult(r);
}
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -