チェンジセット 516

差分発生行の前後
無視リスト:
コミット日時:
2008/05/27 00:50:07 (6 ヶ月前)
コミッタ:
nobu
ログメッセージ:

soumen: 触ってみた成果物。必要無ければ削除してください。

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • as3/Thread/branches/soumen/samples/00.hello/HelloThread.as

    r137 r516  
    1 package 
     1package 
    22{ 
    3        import org.libspark.thread.Thread; 
    4          
    5        /** 
    6         * このスレッドは、実行される度に「Hello, Thread!」を出力します 
    7        
    8         * 独自のスレッドを作るには、まずThreadクラスを継承する必要があります 
    9         */ 
    10        public class HelloThread extends Thread 
    11        
    12                /** 
    13                 * スレッドの処理はexecuteメソッドをオーバーライドして記述します 
    14                
    15                  * このスレッドがアクティブである(生きている)限り、executeメソッドが呼ばれ続けます 
    16                 */ 
    17                protected override function execute():void 
    18                
    19                        trace('Hello, Thread!'); 
    20                
    21        
     3    import org.libspark.thread.Thread; 
     4     
     5    /** 
     6     * このスレッドは、「Hello, Thread!」を出力します 
     7   
     8    * 独自のスレッドを作るには、まずThreadクラスを継承する必要があります 
     9    */ 
     10    public class HelloThread extends Thread 
     11   
     12        /** 
     13         * スレッドの処理はrunメソッドをオーバーライドして記述します 
     14       
     15         * 通常、この処理は一度しか呼ばれません。 
     16        */ 
     17        protected override function run():void 
     18       
     19            trace('Hello, Thread!'); 
     20       
     21   
    2222} 
  • as3/Thread/branches/soumen/samples/00.hello/Sample.as

    r137 r516  
    1 package 
     1package 
    22{ 
    3         import flash.display.Sprite; 
    4         import flash.events.Event; 
    5          
    6         import org.libspark.thread.MasterThread; 
    7          
    8         /** 
    9          * このサンプルでは最も単純なスレッドの実行の仕方を学びます 
    10          * 
    11          * このサンプルを実行すると、毎フレーム「Hello, Thread!」と出力されます 
    12          */ 
    13         public class Sample extends Sprite 
    14         { 
    15                 public function Sample() 
    16                 { 
    17                         // スレッドを実行するには、まずはじめにMasterThreadを作成します 
    18                         // MasterThreadのコンストラクタには、最初に実行するスレッド(メインスレッド)を渡します 
    19                         // HelloThreadは、実行する度に「Hello, Thread!」を出力します 
    20                         _master = new MasterThread(new HelloThread()); 
    21                          
    22                         addEventListener(Event.ENTER_FRAME, enterFrameHandler); 
    23                 } 
    24                  
    25                 private var _master:MasterThread; 
    26                  
    27                 private function enterFrameHandler(event:Event):void 
    28                 { 
    29                         // MasterThreadのexecuteActiveThreadsメソッドを呼び出すことで、スレッドが実行されます 
    30                         // つまり、このメソッドの呼び出しでHelloThreadが実行され、「Hello, Thread!」が出力されることになります 
    31                         // 通常、EnterFrameのタイミングで呼び出すことになるでしょう 
    32                         _master.executeActiveThreads(); 
    33                 } 
    34         } 
     3    import flash.display.Sprite; 
     4 
     5    import org.libspark.thread.Thread; 
     6    import org.libspark.thread.EnterFrameThreadExecutor; 
     7 
     8    /** 
     9     * このサンプルでは最も単純なスレッドの実行の仕方を学びます 
     10     * 
     11     * このサンプルを実行すると、「Hello, Thread!」と出力されます 
     12     */ 
     13    public class Sample extends Sprite 
     14    { 
     15        public function Sample() 
     16        { 
     17            // スレッドを実行するには、まずはじめにThread#initializeをコールし、スレッド全体を初期化します 
     18            // Thread#initializeには、IThreadExecutorのインスタンスを渡します 
     19            Thread.initialize(new EnterFrameThreadExecutor()); 
     20 
     21            // HelloThreadを起動します。 
     22            var hello:HelloThread = new HelloThread(); 
     23            hello.start(); 
     24        } 
     25    } 
    3526} 
     27