KITASENJU DESIGN BLOG

memo, html, javascript, unity

別スレッドで計算する

いろいろ書き方があるようだが以下を使った。 スレッド内でループしたい時はwhile文を書いて、sleepでお休み期間をとり、繰り返すようにした。 こういう書き方がいいのかよくわからない。

void Start(){
WaitCallback waitCallback = new WaitCallback( ThreadFunc );
ThreadPool.QueueUserWorkItem( waitCallback );
}

//別スレッド
void ThreadFunc(object state) {
 try{

while(_isProcessing){

//ここに処理を書く
//_isProcessing=trueのときループ処理

Thread.Sleep( 30 );//30ms休む
}

}catch(System.Exception e){
            //error
            Debug.LogError( "THREAD ERROR:" );
            Debug.LogError( e );
 }
}
"FOOTER"