k7-koyamaです。


> koyamaさん、
> SuSE user?
> :)
> 
>>   public void methodName() {
>>     synchronized(this) {
>>       ..... code
>>
>>     }
>>   }
>> 
>>
> ここの this ですが、これは、囲もうとしているメソッド(method) のことですね?
> khirano
> 

??これは、ソースコードがないので、何とも言えませんが、
同期をとりたいクラス(Object)です。
synchronizedブロックは、Javaで、アプリケーションを作っている人
なら、知らないはずはないと思います。
(もし、知らないで作成されているようでしたら、ちょっと問題があるかもしれ
ません。同期をとらずに、こんなでっかいアプリケーションを開発するのは、不
可能だと思いますよ)


本題の

>ファイル->ウィザード->Webページ
>のWebウィザードで、ステップ5、スタイルまで行き、ここで色選択のリスト
>ボックスで、上矢印キーあるいは下矢印キーを押し続けると、クラッシュしま
>す。

ですが、処理としては、

1       コンボボックスの選択変更
2       選択位置、もしくはオブジェクト特定
3       コード分岐
4       作成htmlイメージの表示コール
        イメージ作成
        ダイアログ描画
5       選択終了

の操作だと仮定すると、マウスキーを押し続ける事は、1から5
のループ作業を意味します。(多分)
問題なのは、最初の作業が終了しないうちに、つぎの1の命令が
来てしまい、一連のルーチン操作が終了しないまま、
新たな操作が開始される事で、システムが追い付かなくなっている
ことだろうと推測します。

synchronized ブロックは、一度1の命令が開始されたら、
5が完了するまで、新たな命令を拒否する事にあります。
(私は、いつもこのような方法でコーディングしています)
したがって、その性質上大変処理がおそいのですが、
確実になるのです。

また、synchronizedがいやなら、一度処理が開始されると、
5が終了するまで、コンボボックスのつぎの選択受け入れを
拒否するルーチンを加えると、有効かもしれません。

これらの話は、コードがJavaで書かれていた場合のみの
話なので、C, C++ などのケースでは、わかりませんので、
よろしくお願いします。

また、例の [Atok] の方は、どうなりましたでしょうか?



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

メールによる返信