3

ボディは、メソッドレベルのブロックレベルで同期を使用せずにスレッドセーフを実現するための代替方法を説明できますか?

public synchronized int disp()
 {

  }



 or
 public int  disp()
 {
  Synchronized
   {}
  }
4

2 に答える 2

2

もちろん、単一のスレッドを使用することもできます。

メソッドが本質的にスレッドセーフであるように、変更可能な状態を共有しないようにアプリケーションを設計できます。

同期されたライブラリ コレクションを使用できます。

スレッドセーフ キューを使用して、スレッド間で通信できます (同時キュー)。

それはむしろあなたが達成しようとしているものに依存します...

于 2012-10-29T10:49:59.153 に答える
0

と呼ばれる別のバリ​​アントがありClass Level Synchronizationます。ただし、これは一種のブロック レベルの同期のみです。

しかし、その前に、なぜそのような要件が必要なのかを質問で説明できますか?

于 2012-10-29T10:47:38.367 に答える