- PR -

James Gosling のSortDemoについて

投票結果総投票数:6
Windows 2 33.33%
Linux 1 16.67%
Mac OS 3 50.00%
  • 投票は恣意的に行われます。統計的な調査と異なり、投票データの正確性や標本の代表性は保証されません。
  • 投票結果の正当性や公平性について、@ITは一切保証も関与もいたしません。
投稿者投稿内容
matsumoto
会議室デビュー日: 2004/09/27
投稿数: 5
投稿日時: 2004-09-27 22:36
すみません・・・。参照等について読んで勉強してみます。

いくつものアップレットが同時に進行しているのはJAVAではどのような手法が使われているかというのは参考になるところはありますか?
おばけ
ぬし
会議室デビュー日: 2002/11/14
投稿数: 609
お住まい・勤務地: 東京都江東区
投稿日時: 2004-09-27 23:16
引用:

いくつものアップレットが同時に進行しているのはJAVAではどのような
手法が使われているかというのは参考になるところはありますか?


それだけではよく分かりませんが、恐らくマルチスレッドでしょう。
マルチスレッドというキーワードで調べてみて下さい。
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2004-09-28 22:33
unibon です。こんにちわ。
#遅くなりましたが、続きです。突っ込めるところが多い回答ですが。

> (2)SortAlgorithmというクラスのある理由

3つのソートアルゴリズムを、共通の呼び出し方で呼び出せるようにするための、ピボット(基点)になります。ただ、クラス構造がキレイではないと思います。sort メソッドだけを持った interface や class とすべきのような気がします。でも、pause メソッドとかもあるから、それだとうまくいかないのかな。

> (3)アップレット上で古い線を消すのに使われている手法

古い線を消す、というのではなく、全部丸ごと描き替えするやりかたのようです。グラフィックスを使うアプリケーションは、昔は PC の性能が低かったのでチマチマと古いものを消して新しいものの差分だけを描画するということもやりましたが、最近はほとんどは全部描き替えすることが多いです。そのほうが、古いものや新しいものを管理する必要がなくて楽だからです。

> (4)赤い線と青い線の意味

ソースコード中では "water mark" と呼ばれていますね。ソートのアルゴリズムにおける、整列されているインデックスとソートされていないインデックスの境目を示す印なのでしょう。

> (5)いくつものアップレットが同時に進行しているのはJAVAではどのような手法が使われているか

アプレットの数だけ別々にスレッドが作られて呼ばれる、という決まりになっているのでしょう。したがって、ひとつのアプレットの中では、別のアプレットのことを考えなくても同時に動くことができます。

> (6)交換された二つの要素を緑にするにはどのようにすればよいか。

赤と青の線は pause メソッドの2つの引数で表現していますが、それを拡張して「交換された」という線を表現する2つの引数を pause メソッドの引数として追加すれば良いかもしれません。

スキルアップ/キャリアアップ(JOB@IT)