2009年3月28日土曜日20:24:00
デリゲート(非同期)
タグ:
C#
by ゆの
短いから全部のせちゃえ。
プログラム
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; namespace DelegateTestConsoleApplication { class Program { /// <summary> /// 現在の繰り返した回数を表示 /// 繰り返すたびにスリープ /// </summary> /// <param name="num">繰り返す回数</param> /// <param name="time">スリープする時間</param> public delegate void MessageNum( int num, int time ); static void Main(string[] args) { const int num = 10; const int time = 200; MessageNum mn = ForLoopNumber; IAsyncResult ar = mn.BeginInvoke(num, time, null, null); for (int i = 0; i < num; i++) { Thread.Sleep(time * 2); Console.Write("<<{0}>> ", i); } mn.EndInvoke(ar); Console.WriteLine(); mn(num, time); Console.WriteLine(); } static void ForLoopNumber( int num, int time ) { for (int i = 0; i < num; i++) { Console.Write("({0}) ", i); Thread.Sleep(time); } } } }
出力結果
(0) (1) <<0>> (2) (3) <<1>> (4) (5) <<2>> (6) (7) <<3>> (8) (9) <<4>> <<5>> <<6>> <<7>> <<8>> <<9>> (0) (1) (2) (3) (4) (5) (6) (7) (8) (9)
参考サイト
0 件のコメント:
コメントを投稿