
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
	<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head><card id="MainCard" title="&#x6B22;&#x8FCE;&#x5149;&#x4E34;"><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a><br/>&nbsp;</p><p><b>&#x6807;&#x9898;&#x3A;</b> &#x43;&#x23;&#x7EBF;&#x7A0B;&#x7F16;&#x7A0B;&#x42;&#x65;&#x67;&#x69;&#x6E;&#x49;&#x6E;&#x76;&#x6F;&#x6B;&#x65;&#x548C;&#x45;&#x6E;&#x64;&#x49;&#x6E;&#x76;&#x6F;&#x6B;&#x65;&#x65B9;&#x6CD5;&#x5B;&#x8F6C;&#x5D;</p><p><b>&#x4F5C;&#x8005;&#x3A;</b> &#x64;&#x6E;&#x61;&#x77;&#x6F;</p><p><b>&#x65E5;&#x671F;&#x3A;</b> &#x32;&#x30;&#x31;&#x34;&#x2D;&#x30;&#x38;&#x2D;&#x31;&#x37;&#x20;&#x30;&#x39;&#x3A;&#x35;&#x38;&#x20;&#x41;&#x4D;</p><p><b>&#x5206;&#x7C7B;&#x3A;</b> <a href="wap.asp?do=showLog&amp;cateID=16">&#x57;&#x69;&#x6E;&#x7F16;&#x7A0B;</a></p><p><b>&#x5185;&#x5BB9;&#x3A;</b> &#x4E00;&#x3001;&#x7EBF;&#x7A0B;&#x6982;&#x8FF0;<br/>&#x5728;&#x64CD;&#x4F5C;&#x7CFB;&#x7EDF;&#x4E2D;&#x4E00;&#x4E2A;&#x8FDB;&#x7A0B;&#x81F3;&#x5C11;&#x8981;&#x5305;&#x542B;&#x4E00;&#x4E2A;&#x7EBF;&#x7A0B;&#xFF0C;&#x7136;&#x540E;&#xFF0C;&#x5728;&#x67D0;&#x4E9B;&#x65F6;&#x5019;&#x9700;&#x8981;&#x5728;&#x540C;&#x4E00;&#x4E2A;&#x8FDB;&#x7A0B;&#x4E2D;&#x540C;&#x65F6;&#x6267;&#x884C;&#x591A;&#x9879;&#x4EFB;&#x52A1;&#xFF0C;&#x6216;&#x662F;&#x4E3A;&#x4E86;&#x63D0;&#x4F9B;&#x7A0B;&#x5E8F;&#x7684;&#x6027;&#x80FD;&#xFF0C;&#x5C06;&#x8981;&#x6267;&#x884C;&#x7684;&#x4EFB;&#x52A1;&#x5206;&#x89E3;&#x6210;&#x591A;&#x4E2A;&#x5B50;&#x4EFB;&#x52A1;&#x6267;&#x884C;&#x3002;&#x8FD9;&#x5C31;&#x9700;&#x8981;&#x5728;&#x540C;&#x4E00;&#x4E2A;&#x8FDB;&#x7A0B;&#x4E2D;&#x5F00;&#x542F;&#x591A;&#x4E2A;&#x7EBF;&#x7A0B;&#x3002;&#x6211;&#x4EEC;&#x4F7F;&#x7528;C#&#x7F16;&#x5199;&#x4E00;&#x4E2A;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#xFF08;&#x63A7;&#x5236;&#x53F0;&#x6216;&#x684C;&#x9762;&#x7A0B;&#x5E8F;&#x90FD;&#x53EF;&#x4EE5;&#xFF09;&#xFF0C;&#x7136;&#x540E;&#x8FD0;&#x884C;&#x8FD9;&#x4E2A;&#x7A0B;&#x5E8F;&#xFF0C;&#x5E76;&#x6253;&#x5F00;windows&#x4EFB;&#x52A1;&#x7BA1;&#x7406;&#x5668;&#xFF0C;&#x8FD9;&#x65F6;&#x6211;&#x4EEC;&#x5C31;&#x4F1A;&#x770B;&#x5230;&#x8FD9;&#x4E2A;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x4E2D;&#x6240;&#x542B;&#x6709;&#x7684;&#x7EBF;&#x7A0B;&#x6570;&#xFF0C;&#x5982;&#x4E0B;&#x56FE;&#x6240;&#x793A;&#x3002;<br/>&#x5982;&#x679C;&#x4EFB;&#x52A1;&#x7BA1;&#x7406;&#x5668;&#x6CA1;&#x6709;&#x201C;&#x7EBF;&#x7A0B;&#x6570;&#x201D;&#x5217;&#xFF0C;&#x53EF;&#x4EE5;&#x3010;&#x67E5;&#x770B;&#x3011;&gt;&#x3010;&#x9009;&#x62E9;&#x5217;&#x3011;&#x6765;&#x663E;&#x793A;&#x201C;&#x7EBF;&#x7A0B;&#x8BA1;&#x6570;&#x201D;&#x5217;&#x3002;&#x4ECE;&#x4E0A;&#x56FE;&#x53EF;&#x4EE5;&#x770B;&#x51FA;&#xFF0C;&#x51E0;&#x4E4E;&#x6240;&#x6709;&#x7684;&#x8FDB;&#x7A0B;&#x90FD;&#x62E5;&#x6709;&#x4E24;&#x4E2A;&#x4EE5;&#x4E0A;&#x7684;&#x7EBF;&#x7A0B;&#x3002;&#x4ECE;&#x800C;&#x53EF;&#x4EE5;&#x770B;&#x51FA;&#xFF0C;&#x7EBF;&#x7A0B;&#x662F;&#x63D0;&#x4F9B;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x6027;&#x80FD;&#x7684;&#x91CD;&#x8981;&#x624B;&#x6BB5;&#x4E4B;&#x4E00;&#xFF0C;&#x5C24;&#x5176;&#x5728;&#x591A;&#x6838;CPU&#x7684;&#x673A;&#x5668;&#x4E0A;&#x5C24;&#x4E3A;&#x660E;&#x663E;&#x3002;<br/>&#x4E8C;&#x3001;&#x7528;&#x59D4;&#x6258;(Delegate)&#x7684;BeginInvoke&#x548C;EndInvoke&#x65B9;&#x6CD5;&#x64CD;&#x4F5C;&#x7EBF;&#x7A0B;<br/>&#x5728;C#&#x4E2D;&#x4F7F;&#x7528;&#x7EBF;&#x7A0B;&#x7684;&#x65B9;&#x6CD5;&#x5F88;&#x591A;&#xFF0C;&#x4F7F;&#x7528;&#x59D4;&#x6258;&#x7684;BeginInvoke&#x548C;EndInvoke&#x65B9;&#x6CD5;&#x5C31;&#x662F;&#x5176;&#x4E2D;&#x4E4B;&#x4E00;&#x3002;BeginInvoke&#x65B9;&#x6CD5;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x7EBF;&#x7A0B;&#x5F02;&#x6B65;&#x5730;&#x6267;&#x884C;&#x59D4;&#x6258;&#x6240;&#x6307;&#x5411;&#x7684;&#x65B9;&#x6CD5;&#x3002;&#x7136;&#x540E;&#x901A;&#x8FC7;EndInvoke&#x65B9;&#x6CD5;&#x83B7;&#x5F97;&#x65B9;&#x6CD5;&#x7684;&#x8FD4;&#x56DE;&#x503C;&#xFF08;EndInvoke&#x65B9;&#x6CD5;&#x7684;&#x8FD4;&#x56DE;&#x503C;&#x5C31;&#x662F;&#x88AB;&#x8C03;&#x7528;&#x65B9;&#x6CD5;&#x7684;&#x8FD4;&#x56DE;&#x503C;&#xFF09;&#xFF0C;&#x6216;&#x662F;&#x786E;&#x5B9A;&#x65B9;&#x6CD5;&#x5DF2;&#x7ECF;&#x88AB;&#x6210;&#x529F;&#x8C03;&#x7528;&#x3002;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x56DB;&#x79CD;&#x65B9;&#x6CD5;&#x4ECE;EndInvoke&#x65B9;&#x6CD5;&#x6765;&#x83B7;&#x5F97;&#x8FD4;&#x56DE;&#x503C;&#x3002;<br/>&#x4E09;&#x3001;&#x76F4;&#x63A5;&#x4F7F;&#x7528;EndInvoke&#x65B9;&#x6CD5;&#x6765;&#x83B7;&#x5F97;&#x8FD4;&#x56DE;&#x503C;<br/>&#x5F53;&#x4F7F;&#x7528;BeginInvoke&#x5F02;&#x6B65;&#x8C03;&#x7528;&#x65B9;&#x6CD5;&#x65F6;&#xFF0C;&#x5982;&#x679C;&#x65B9;&#x6CD5;&#x672A;&#x6267;&#x884C;&#x5B8C;&#xFF0C;EndInvoke&#x65B9;&#x6CD5;&#x5C31;&#x4F1A;&#x4E00;&#x76F4;&#x963B;&#x585E;&#xFF0C;&#x76F4;&#x5230;&#x88AB;&#x8C03;&#x7528;&#x7684;&#x65B9;&#x6CD5;&#x6267;&#x884C;&#x5B8C;&#x6BD5;&#x3002;&#x5982;&#x4E0B;&#x9762;&#x7684;&#x4EE3;&#x7801;&#x6240;&#x793A;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;using System;<br/>using System.Collections.Generic;<br/>using System.Linq;<br/>using System.Text;<br/>using System.Threading;<br/>namespace MyThread<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;class Program<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private static int newTask(int ms)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&#34;&#x4EFB;&#x52A1;&#x5F00;&#x59CB;&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thread.Sleep(ms);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Random random = new Random();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int n = random.Next(10000);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&#34;&#x4EFB;&#x52A1;&#x5B8C;&#x6210;&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return n;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private delegate int NewTaskDelegate(int ms);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static void Main(string[] args)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NewTaskDelegate task = newTask;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IAsyncResult asyncResult = task.BeginInvoke(2000, null, null);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// EndInvoke&#x65B9;&#x6CD5;&#x5C06;&#x88AB;&#x963B;&#x585E;2&#x79D2;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int result = task.EndInvoke(asyncResult);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(result);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>&#x5728;&#x8FD0;&#x884C;&#x4E0A;&#x9762;&#x7684;&#x7A0B;&#x5E8F;&#x540E;&#xFF0C;&#x7531;&#x4E8E;newTask&#x65B9;&#x6CD5;&#x901A;&#x8FC7;Sleep&#x5EF6;&#x8FDF;&#x4E86;2&#x79D2;&#xFF0C;&#x56E0;&#x6B64;&#xFF0C;&#x7A0B;&#x5E8F;&#x76F4;&#x5230;2&#x79D2;&#x540E;&#x624D;&#x8F93;&#x51FA;&#x6700;&#x7EC8;&#x7ED3;&#x679C;&#xFF08;&#x4E00;&#x4E2A;&#x968F;&#x673A;&#x6574;&#x6570;&#xFF09;&#x3002;&#x5982;&#x679C;&#x4E0D;&#x8C03;&#x7528;EndInvoke&#x65B9;&#x6CD5;&#xFF0C;&#x7A0B;&#x5E8F;&#x4F1A;&#x7ACB;&#x5373;&#x9000;&#x51FA;&#xFF0C;&#x8FD9;&#x662F;&#x7531;&#x4E8E;&#x4F7F;&#x7528;BeginInvoke&#x521B;&#x5EFA;&#x7684;&#x7EBF;&#x7A0B;&#x90FD;&#x662F;&#x540E;&#x53F0;&#x7EBF;&#x7A0B;&#xFF0C;&#x8FD9;&#x79CD;&#x7EBF;&#x7A0B;&#x4E00;&#x4F46;&#x6240;&#x6709;&#x7684;&#x524D;&#x53F0;&#x7EBF;&#x7A0B;&#x90FD;&#x9000;&#x51FA;&#x540E;&#xFF08;&#x5176;&#x4E2D;&#x4E3B;&#x7EBF;&#x7A0B;&#x5C31;&#x662F;&#x4E00;&#x4E2A;&#x524D;&#x53F0;&#x7EBF;&#x7A0B;&#xFF09;&#xFF0C;&#x4E0D;&#x7BA1;&#x540E;&#x53F0;&#x7EBF;&#x7A0B;&#x662F;&#x5426;&#x6267;&#x884C;&#x5B8C;&#x6BD5;&#xFF0C;&#x90FD;&#x4F1A;&#x7ED3;&#x675F;&#x7EBF;&#x7A0B;&#xFF0C;&#x5E76;&#x9000;&#x51FA;&#x7A0B;&#x5E8F;&#x3002;&#x5173;&#x4E8E;&#x524D;&#x53F0;&#x548C;&#x540E;&#x53F0;&#x7EBF;&#x7A0B;&#x7684;&#x8BE6;&#x7EC6;&#x5185;&#x5BB9;&#xFF0C;&#x5C06;&#x5728;&#x540E;&#x9762;&#x7684;&#x90E8;&#x5206;&#x8BB2;&#x89E3;&#x3002;<br/>&#x8BFB;&#x8005;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x4E0A;&#x9762;&#x7684;&#x7A0B;&#x5E8F;&#x505A;&#x4EE5;&#x4E0B;&#x5B9E;&#x9A8C;&#x3002;&#x9996;&#x5148;&#x5728;Main&#x65B9;&#x6CD5;&#x7684;&#x5F00;&#x59CB;&#x90E8;&#x5206;&#x52A0;&#x5165;&#x5982;&#x4E0B;&#x4EE3;&#x7801;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;Thread.Sleep(10000);<br/>&#x4EE5;&#x4F7F;Main&#x65B9;&#x6CD5;&#x5EF6;&#x8FDF;10&#x79D2;&#x949F;&#x518D;&#x6267;&#x884C;&#x4E0B;&#x9762;&#x7684;&#x4EE3;&#x7801;&#xFF0C;&#x7136;&#x540E;&#x6309;Ctrl+F5&#x8FD0;&#x884C;&#x7A0B;&#x5E8F;&#xFF0C;&#x5E76;&#x6253;&#x5F00;&#x4F01;&#x4E1A;&#x7BA1;&#x7406;&#x5668;&#xFF0C;&#x89C2;&#x5BDF;&#x5F53;&#x524D;&#x7A0B;&#x5E8F;&#x7684;&#x7EBF;&#x7A0B;&#x6570;&#xFF0C;&#x5047;&#x8BBE;&#x7EBF;&#x7A0B;&#x6570;&#x662F;4&#xFF0C;&#x5728;10&#x79D2;&#x540E;&#xFF0C;&#x7EBF;&#x7A0B;&#x6570;&#x4F1A;&#x589E;&#x81F3;5&#xFF0C;&#x8FD9;&#x662F;&#x56E0;&#x4E3A;&#x8C03;&#x7528;BeginInvoke&#x65B9;&#x6CD5;&#x65F6;&#x4F1A;&#x5EFA;&#x7ACB;&#x4E00;&#x4E2A;&#x7EBF;&#x7A0B;&#x6765;&#x5F02;&#x6B65;&#x6267;&#x884C;newTask&#x65B9;&#x6CD5;&#xFF0C;&#x56E0;&#x6B64;&#xFF0C;&#x7EBF;&#x7A0B;&#x4F1A;&#x589E;&#x52A0;&#x4E00;&#x4E2A;&#x3002;<br/>&#x56DB;&#x3001;&#x4F7F;&#x7528;IAsyncResult asyncResult&#x5C5E;&#x6027;&#x6765;&#x5224;&#x65AD;&#x5F02;&#x6B65;&#x8C03;&#x7528;&#x662F;&#x5426;&#x5B8C;&#x6210;<br/>&#x867D;&#x7136;&#x4E0A;&#x9762;&#x7684;&#x65B9;&#x6CD5;&#x53EF;&#x4EE5;&#x5F88;&#x597D;&#x5730;&#x5B9E;&#x73B0;&#x5F02;&#x6B65;&#x8C03;&#x7528;&#xFF0C;&#x4F46;&#x662F;&#x5F53;&#x8C03;&#x7528;EndInvoke&#x65B9;&#x6CD5;&#x83B7;&#x5F97;&#x8C03;&#x7528;&#x7ED3;&#x679C;&#x65F6;&#xFF0C;&#x6574;&#x4E2A;&#x7A0B;&#x5E8F;&#x5C31;&#x8C61;&#x6B7B;&#x4E86;&#x4E00;&#x6837;&#xFF0C;&#x8FD9;&#x6837;&#x505A;&#x7528;&#x6237;&#x7684;&#x611F;&#x89C9;&#x5E76;&#x4E0D;&#x4F1A;&#x592A;&#x597D;&#xFF0C;&#x56E0;&#x6B64;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;asyncResult&#x6765;&#x5224;&#x65AD;&#x5F02;&#x6B65;&#x8C03;&#x7528;&#x662F;&#x5426;&#x5B8C;&#x6210;&#xFF0C;&#x5E76;&#x663E;&#x793A;&#x4E00;&#x4E9B;&#x63D0;&#x793A;&#x4FE1;&#x606F;&#x3002;&#x8FD9;&#x6837;&#x505A;&#x53EF;&#x4EE5;&#x589E;&#x52A0;&#x7528;&#x6237;&#x4F53;&#x9A8C;&#x3002;&#x4EE3;&#x7801;&#x5982;&#x4E0B;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;static void Main(string[] args)<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;NewTaskDelegate task = newTask;<br/>&nbsp;&nbsp;&nbsp;&nbsp;IAsyncResult asyncResult = task.BeginInvoke(2000, null, null);<br/>&nbsp;&nbsp;&nbsp;&nbsp;while (!asyncResult.IsCompleted)<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.Write(&#34;*&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thread.Sleep(100);<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;// &#x7531;&#x4E8E;&#x5F02;&#x6B65;&#x8C03;&#x7528;&#x5DF2;&#x7ECF;&#x5B8C;&#x6210;&#xFF0C;&#x56E0;&#x6B64;&#xFF0C; EndInvoke&#x4F1A;&#x7ACB;&#x523B;&#x8FD4;&#x56DE;&#x7ED3;&#x679C;<br/>&nbsp;&nbsp;&nbsp;&nbsp;int result = task.EndInvoke(asyncResult);<br/>&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(result);<br/>}<br/>&#x4E0A;&#x9762;&#x4EE3;&#x7801;&#x7684;&#x6267;&#x884C;&#x7ED3;&#x679C;&#x5982;&#x4E0B;&#x56FE;&#x6240;&#x793A;&#x3002;<br/>&#x7531;&#x4E8E;&#x662F;&#x5F02;&#x6B65;&#xFF0C;&#x6240;&#x4EE5;&#x201C;*&#x201D;&#x53EF;&#x80FD;&#x4F1A;&#x5728;&#x201C;&#x4EFB;&#x52A1;&#x5F00;&#x59CB;&#x201D;&#x524D;&#x8F93;&#x51FA;&#xFF0C;&#x5982;&#x4E0A;&#x56FE;&#x6240;&#x793A;&#x3002;<br/>&#x4E94;&#x3001;&#x4F7F;&#x7528;WaitOne&#x65B9;&#x6CD5;&#x7B49;&#x5F85;&#x5F02;&#x6B65;&#x65B9;&#x6CD5;&#x6267;&#x884C;&#x5B8C;&#x6210;<br/>&#x4F7F;&#x7528;WaitOne&#x65B9;&#x6CD5;&#x662F;&#x53E6;&#x5916;&#x4E00;&#x79CD;&#x5224;&#x65AD;&#x5F02;&#x6B65;&#x8C03;&#x7528;&#x662F;&#x5426;&#x5B8C;&#x6210;&#x7684;&#x65B9;&#x6CD5;&#x3002;&#x4EE3;&#x7801;&#x5982;&#x4E0B;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;static void Main(string[] args)<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;NewTaskDelegate task = newTask;<br/>&nbsp;&nbsp;&nbsp;&nbsp;IAsyncResult asyncResult = task.BeginInvoke(2000, null, null);<br/>&nbsp;&nbsp;&nbsp;&nbsp;while (!asyncResult.AsyncWaitHandle.WaitOne(100, false))<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.Write(&#34;*&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;int result = task.EndInvoke(asyncResult);<br/>&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(result);<br/>}<br/>WaitOne&#x7684;&#x7B2C;&#x4E00;&#x4E2A;&#x53C2;&#x6570;&#x8868;&#x793A;&#x8981;&#x7B49;&#x5F85;&#x7684;&#x6BEB;&#x79D2;&#x6570;&#xFF0C;&#x5728;&#x6307;&#x5B9A;&#x65F6;&#x95F4;&#x4E4B;&#x5185;&#xFF0C;WaitOne&#x65B9;&#x6CD5;&#x5C06;&#x4E00;&#x76F4;&#x7B49;&#x5F85;&#xFF0C;&#x76F4;&#x5230;&#x5F02;&#x6B65;&#x8C03;&#x7528;&#x5B8C;&#x6210;&#xFF0C;&#x5E76;&#x53D1;&#x51FA;&#x901A;&#x77E5;&#xFF0C;WaitOne&#x65B9;&#x6CD5;&#x624D;&#x8FD4;&#x56DE;true&#x3002;&#x5F53;&#x7B49;&#x5F85;&#x6307;&#x5B9A;&#x65F6;&#x95F4;&#x4E4B;&#x540E;&#xFF0C;&#x5F02;&#x6B65;&#x8C03;&#x7528;&#x4ECD;&#x672A;&#x5B8C;&#x6210;&#xFF0C;WaitOne&#x65B9;&#x6CD5;&#x8FD4;&#x56DE;false&#xFF0C;&#x5982;&#x679C;&#x6307;&#x5B9A;&#x65F6;&#x95F4;&#x4E3A;0&#xFF0C;&#x8868;&#x793A;&#x4E0D;&#x7B49;&#x5F85;&#xFF0C;&#x5982;&#x679C;&#x4E3A;-1&#xFF0C;&#x8868;&#x793A;&#x6C38;&#x8FDC;&#x7B49;&#x5F85;&#xFF0C;&#x76F4;&#x5230;&#x5F02;&#x6B65;&#x8C03;&#x7528;&#x5B8C;&#x6210;&#x3002;<br/>&#x516D;&#x3001;&#x4F7F;&#x7528;&#x56DE;&#x8C03;&#x65B9;&#x5F0F;&#x8FD4;&#x56DE;&#x7ED3;&#x679C;<br/>&#x4E0A;&#x9762;&#x4ECB;&#x7ECD;&#x7684;&#x51E0;&#x79CD;&#x65B9;&#x6CD5;&#x5B9E;&#x9645;&#x4E0A;&#x53EA;&#x76F8;&#x5F53;&#x4E8E;&#x4E00;&#x79CD;&#x65B9;&#x6CD5;&#x3002;&#x8FD9;&#x4E9B;&#x65B9;&#x6CD5;&#x867D;&#x7136;&#x53EF;&#x4EE5;&#x6210;&#x529F;&#x8FD4;&#x56DE;&#x7ED3;&#x679C;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x7ED9;&#x7528;&#x6237;&#x4E00;&#x4E9B;&#x63D0;&#x793A;&#xFF0C;&#x4F46;&#x5728;&#x8FD9;&#x4E2A;&#x8FC7;&#x7A0B;&#x4E2D;&#xFF0C;&#x6574;&#x4E2A;&#x7A0B;&#x5E8F;&#x5C31;&#x8C61;&#x6B7B;&#x4E86;&#x4E00;&#x6837;&#xFF08;&#x5982;&#x679C;&#x8BFB;&#x8005;&#x5728;GUI&#x7A0B;&#x5E8F;&#x4E2D;&#x4F7F;&#x7528;&#x8FD9;&#x4E9B;&#x65B9;&#x6CD5;&#x5C31;&#x4F1A;&#x975E;&#x5E38;&#x660E;&#x663E;&#xFF09;&#xFF0C;&#x8981;&#x60F3;&#x5728;&#x8C03;&#x7528;&#x7684;&#x8FC7;&#x7A0B;&#x4E2D;&#xFF0C;&#x7A0B;&#x5E8F;&#x4ECD;&#x7136;&#x53EF;&#x4EE5;&#x6B63;&#x5E38;&#x505A;&#x5176;&#x5B83;&#x7684;&#x5DE5;&#x4F5C;&#xFF0C;&#x5C31;&#x5FC5;&#x987B;&#x4F7F;&#x7528;&#x5F02;&#x6B65;&#x8C03;&#x7528;&#x7684;&#x65B9;&#x5F0F;&#x3002;&#x4E0B;&#x9762;&#x6211;&#x4EEC;&#x4F7F;&#x7528;GUI&#x7A0B;&#x5E8F;&#x6765;&#x7F16;&#x5199;&#x4E00;&#x4E2A;&#x4F8B;&#x5B50;&#xFF0C;&#x4EE3;&#x7801;&#x5982;&#x4E0B;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;private delegate int MyMethod();<br/>private int method()<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;Thread.Sleep(10000);<br/>&nbsp;&nbsp;&nbsp;&nbsp;return 100;<br/>}<br/>private void MethodCompleted(IAsyncResult asyncResult)<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;if (asyncResult == null) return;<br/>&nbsp;&nbsp;&nbsp;&nbsp;textBox1.Text = (asyncResult.AsyncState as MyMethod).EndInvoke(asyncResult).ToString();<br/>}<br/>private void button1_Click(object sender, EventArgs e)<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;MyMethod my = method;<br/>&nbsp;&nbsp;&nbsp;&nbsp;IAsyncResult asyncResult = my.BeginInvoke(MethodCompleted, my);<br/>}<br/>&#x8981;&#x6CE8;&#x610F;&#x7684;&#x662F;&#xFF0C;&#x8FD9;&#x91CC;&#x4F7F;&#x7528;&#x4E86;BeginInvoke&#x65B9;&#x6CD5;&#x7684;&#x6700;&#x540E;&#x4E24;&#x4E2A;&#x53C2;&#x6570;&#xFF08;&#x5982;&#x679C;&#x88AB;&#x8C03;&#x7528;&#x7684;&#x65B9;&#x6CD5;&#x542B;&#x6709;&#x53C2;&#x6570;&#x7684;&#x8BDD;&#xFF0C;&#x8FD9;&#x4E9B;&#x53C2;&#x6570;&#x5C06;&#x4F5C;&#x4E3A;BeginInvoke&#x7684;&#x524D;&#x9762;&#x4E00;&#x90E8;&#x5206;&#x53C2;&#x6570;&#xFF0C;&#x5982;&#x679C;&#x6CA1;&#x6709;&#x53C2;&#x6570;&#xFF0C;BeginInvoke&#x5C31;&#x53EA;&#x6709;&#x4E24;&#x4E2A;&#x53C2;&#x6570;&#x4E86;&#xFF09;&#x3002;&#x7B2C;&#x4E00;&#x4E2A;&#x53C2;&#x6570;&#x662F;&#x56DE;&#x8C03;&#x65B9;&#x6CD5;&#x59D4;&#x6258;&#x7C7B;&#x578B;&#xFF0C;&#x8FD9;&#x4E2A;&#x59D4;&#x6258;&#x53EA;&#x6709;&#x4E00;&#x4E2A;&#x53C2;&#x6570;&#xFF0C;&#x5C31;&#x662F;IAsyncResult,&#x5982;MethodCompleted&#x65B9;&#x6CD5;&#x6240;&#x793A;&#x3002;&#x5F53;method&#x65B9;&#x6CD5;&#x6267;&#x884C;&#x5B8C;&#x540E;&#xFF0C;&#x7CFB;&#x7EDF;&#x4F1A;&#x81EA;&#x52A8;&#x8C03;&#x7528;MethodCompleted&#x65B9;&#x6CD5;&#x3002;BeginInvoke&#x7684;&#x7B2C;&#x4E8C;&#x4E2A;&#x53C2;&#x6570;&#x9700;&#x8981;&#x5411;MethodCompleted&#x65B9;&#x6CD5;&#x4E2D;&#x4F20;&#x9012;&#x4E00;&#x4E9B;&#x503C;&#xFF0C;&#x4E00;&#x822C;&#x53EF;&#x4EE5;&#x4F20;&#x9012;&#x88AB;&#x8C03;&#x7528;&#x65B9;&#x6CD5;&#x7684;&#x59D4;&#x6258;&#xFF0C;&#x5982;&#x4E0A;&#x9762;&#x4EE3;&#x7801;&#x4E2D;&#x7684;my&#x3002;&#x8FD9;&#x4E2A;&#x503C;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;IAsyncResult.AsyncState&#x5C5E;&#x6027;&#x83B7;&#x5F97;&#x3002;<br/>&#x7531;&#x4E8E;&#x4E0A;&#x9762;&#x7684;&#x4EE3;&#x7801;&#x901A;&#x8FC7;&#x5F02;&#x6B65;&#x7684;&#x65B9;&#x5F0F;&#x8BBF;&#x95EE;&#x7684;form&#x4E0A;&#x7684;&#x4E00;&#x4E2A;textbox&#xFF0C;&#x56E0;&#x6B64;&#xFF0C;&#x9700;&#x8981;&#x6309;ctrl+f5&#x8FD0;&#x884C;&#x7A0B;&#x5E8F;&#xFF08;&#x4E0D;&#x80FD;&#x76F4;&#x63A5;&#x6309;F5&#x8FD0;&#x884C;&#x7A0B;&#x5E8F;&#xFF0C;&#x5426;&#x5219;&#x65E0;&#x6CD5;&#x5728;&#x5176;&#x4ED6;&#x7EBF;&#x7A0B;&#x4E2D;&#x8BBF;&#x95EE;&#x8FD9;&#x4E2A;textbox&#xFF0C;&#x5173;&#x4E8E;&#x5982;&#x679C;&#x5728;&#x5176;&#x4ED6;&#x7EBF;&#x7A0B;&#x4E2D;&#x8BBF;&#x95EE;GUI&#x7EC4;&#x4EF6;&#xFF0C;&#x5E76;&#x5728;&#x540E;&#x9762;&#x7684;&#x90E8;&#x5206;&#x8BE6;&#x7EC6;&#x4ECB;&#x7ECD;&#xFF09;&#x3002;&#x5E76;&#x5728;form&#x4E0A;&#x653E;&#x4E00;&#x4E9B;&#x5176;&#x4ED6;&#x7684;&#x53EF;&#x89C6;&#x63A7;&#x4EF6;&#xFF0C;&#x7136;&#x5728;&#x70B9;&#x51FB;button1&#x540E;&#xFF0C;&#x5176;&#x5B83;&#x7684;&#x63A7;&#x4EF6;&#x4ECD;&#x7136;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#xFF0C;&#x5C31;&#x8C61;&#x4EC0;&#x4E48;&#x4E8B;&#x90FD;&#x6CA1;&#x6709;&#x53D1;&#x751F;&#x8FC7;&#x4E00;&#x6837;&#xFF0C;&#x5728;10&#x79D2;&#x540E;&#xFF0C;&#x5728;textbox1&#x4E2D;&#x5C06;&#x8F93;&#x51FA;100&#x3002;<br/>&#x4E03;&#x3001;&#x5176;&#x4ED6;&#x7EC4;&#x4EF6;&#x7684;BeginXXX&#x548C;EndXXX&#x65B9;&#x6CD5;<br/>&#x5728;&#x5176;&#x4ED6;&#x7684;.net&#x7EC4;&#x4EF6;&#x4E2D;&#x4E5F;&#x6709;&#x7C7B;&#x4F3C;BeginInvoke&#x548C;EndInvoke&#x7684;&#x65B9;&#x6CD5;&#xFF0C;&#x5982;System.Net.HttpWebRequest&#x7C7B;&#x7684;BeginGetResponse&#x548C;EndGetResponse&#x65B9;&#x6CD5;&#xFF0C;&#x4E0B;&#x9762;&#x662F;&#x4F7F;&#x7528;&#x8FD9;&#x4E24;&#x4E2A;&#x65B9;&#x6CD5;&#x7684;&#x4E00;&#x4E2A;&#x4F8B;&#x5B50;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;private void requestCompleted(IAsyncResult asyncResult)<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;if (asyncResult == null) return;<br/>&nbsp;&nbsp;&nbsp;&nbsp;HttpWebRequest hwr = (HttpWebRequest)asyncResult.AsyncState;<br/>&nbsp;&nbsp;&nbsp;&nbsp;HttpWebResponse response = (HttpWebResponse)hwr.EndGetResponse(asyncResult);<br/>&nbsp;&nbsp;&nbsp;&nbsp;StreamReader sr = new StreamReader(response.GetResponseStream());<br/>&nbsp;&nbsp;&nbsp;&nbsp;textBox1.Text = sr.ReadToEnd();<br/>}<br/>private void button1_Click(object sender, EventArgs e)<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;HttpWebRequest request = (HttpWebRequest)WebRequest.Cr&#101;ate(&#34;www.cnblogs.com&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;IAsyncResult asyncResult = request.BeginGetResponse(requestCompleted, request);<br/>}<br/>&#x539F;&#x6587;&#x94FE;&#x63A5;&#xFF1A;http://www.cnblogs.com/codingsilence/articles/1241918.html</p><p> + <a href="#CommentCard">&#x67E5;&#x770B;&#x5F53;&#x524D;&#x65E5;&#x5FD7;&#x8BC4;&#x8BBA;</a> (0)</p><p>&nbsp;<br/><br/><a href="wap.asp?do=Login">&#x767B;&#x5F55;</a></p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.625&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card><card id="postCommentCard"><p><b>&#x6807;&#x9898;&#x3A;</b> <a href="#MainCard">&#x43;&#x23;&#x7EBF;&#x7A0B;&#x7F16;&#x7A0B;&#x42;&#x65;&#x67;&#x69;&#x6E;&#x49;&#x6E;&#x76;&#x6F;&#x6B;&#x65;&#x548C;&#x45;&#x6E;&#x64;&#x49;&#x6E;&#x76;&#x6F;&#x6B;&#x65;&#x65B9;&#x6CD5;&#x5B;&#x8F6C;&#x5D;</a></p><p><br/>你没有权限发表评论</p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.625&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card><card id="CommentCard"><p>&#x6682;&#x65E0;&#x8BC4;&#x8BBA;</p><p><a href="#MainCard">&#x8FD4;&#x56DE;</a></p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.625&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card>
</wml>
