iモード携帯電話用Java(iアプリ) Part15
at TECH
234:デフォルトの名無しさん
07/09/27 03:13:02
>>216-218
何か話が噛み合ってない気が…
以下2メソッドは同意。
public synchronized void processEvent(){
//...
}
public void processEvent() {
synchronized(this) {
//...
}
}
synchronizedを指定したオブジェクトに対して、別スレッドから参照が行われた場合、
synchronized対象のロックが切れるまで、別スレッドは待ち状態になる。
2つのスレッドからprocessEventが呼び出されたとして、
先に呼び出されたほうがthisをロックする。
後から呼ばれたほうはthisのロックが解除されるまで待ち。
thisのロックが解除されるのはsynchronizedスコープの後なので、
その間呼び出されるメソッドもロック中と同等の動作になる。
>processEvent()から呼んでるメンバは全てsynchronizedである必要がある
これはちとオーバーじゃないかね(´・ω・`)
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4865日前に更新/253 KB
担当:undef