2016-05-25 5 views
1

別のスレッドからデータをロードしています。スレッドセーフ?コードはリストがスレッド1を使用してロードされ、一覧がスレッド2にロードされます。このスレッドが安全であることを示している別のスレッドからデータをロードしていますが、スレッドセーフですか?

public static void main(String[] args) 
{ 

    Thread threadOne = new Thread(new Runnable() 
    { 

     @Override 
     public void run() 
     { 
      loadContacts(); 
     } 

    }); 

    Thread threadTwo = new Thread(new Runnable() 
    { 

     @Override 
     public void run() 
     { 
      loadDefinitions();//Loads definitions 
     } 

    }); 

    threadOne.start(); 
    threadTwo.start(); 

} 

例えば

?両方のリストにアクセスするゲームロジック用の最終スレッドがある場合は、

答えて

0

あなたが両方のリストにアクセスし、最終的な糸、確認している場合にのみ安全ですが、両方threadOnethreadTwoが完了するまで、例えば待機します一覧からの読み取りを試みる前にthreadOne.join()threadTwo.join()と呼び出してください。

最後のスレッドを待機させたくない場合は、スレッドの安全性を確保するために、いくつかの同期を追加する必要があります。

+0

返信ありがとうございます – Zak

関連する問題