チェンジセット 632

差分発生行の前後
無視リスト:
コミット日時:
2008/06/14 02:39:04 (5 ヶ月前)
コミッタ:
yossy
ログメッセージ:

Thread(soumen): 初期化されていない状態で start したらエラーが出るように

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • as3/Thread/branches/soumen/Thread.as3proj

    r628 r632  
    6969  <!-- Class files to compile (other referenced classes will automatically be included) --> 
    7070  <compileTargets> 
    71     <compile path="samples\00.hello\Sample.as" /> 
     71    <compile path="tests\RunTests.as" /> 
    7272  </compileTargets> 
    7373  <!-- Paths to exclude from the Project Explorer tree --> 
  • as3/Thread/branches/soumen/src/org/libspark/thread/Thread.as

    r631 r632  
    3737        import org.libspark.thread.errors.IllegalThreadStateError; 
    3838        import org.libspark.thread.errors.InterruptedError; 
     39        import org.libspark.thread.errors.ThreadLibraryNotInitializedError; 
    3940         
    4041        /** 
     
    563564                 * スローされます。</p> 
    564565                 *  
     566                 * <p>スレッドライブラリが初期化されていない状態の場合 (isReady が false の場合) は ThreadLibraryNotInitializedError が 
     567                 * スローされます。</p> 
     568                 *  
    565569                 * <p>あるスレッドの実行中にこのメソッドが呼び出された場合、そのスレッドはこのメソッドが呼び出されたスレッドの親スレッドとなり、 
    566570                 * このメソッドが呼び出されたスレッドは子スレッドとなります。</p> 
     
    571575                 *  
    572576                 * @throws      org.libspark.thread.errors.IllegalThreadStateError      スレッドが既に開始されている場合 
     577                 * @throws      org.libspark.thread.errors.ThreadLibraryNotInitializedError     スレッドライブラリが初期化されていない場合 
    573578                 */ 
    574579                public function start():void 
    575580                { 
     581                        // 初期化されていなければエラー 
     582                        if (!isReady) { 
     583                                throw new ThreadLibraryNotInitializedError('Thread Library is not initialized. Please call Thread#initialize before.'); 
     584                        } 
     585                         
    576586                        // 既に実行されていたらエラー 
    577587                        if (_state != ThreadState.NEW) { 
  • as3/Thread/branches/soumen/tests/org/libspark/thread/ThreadExecutionTest.as

    r515 r632  
    88        import org.libspark.as3unit.test_expected; 
    99        import org.libspark.thread.errors.IllegalThreadStateError; 
     10        import org.libspark.thread.errors.ThreadLibraryNotInitializedError; 
    1011         
    1112        use namespace before; 
     
    6061                        var t:Thread = new Thread(); 
    6162                        t.start(); 
     63                        t.start(); 
     64                } 
     65                 
     66                /** 
     67                 * スレッドライブラリが初期化されていない状態で start したら ThreadLibraryNotInitializedError がスローされるか。 
     68                 */ 
     69                test_expected static const initializeError:Class = ThreadLibraryNotInitializedError; 
     70                test function initializeError():void 
     71                { 
     72                        Thread.initialize(null); 
     73                         
     74                        var t:Thread = new Thread(); 
    6275                        t.start(); 
    6376                }