
只今、数冊の本を読み、現在マルチスレッドの部分を
やっているのですが、
参考本AとBには
class Sample extends Thread {
というやり方が書いてあり、
参考本Cには
class Sample implements Runnable {
というやり方だけ書いてあります。
どういう事だと思い、クラスリファレンス本を読んでみると、
『マルチスレッドプログラミングを行う際にはthreadを継承するか、Runnableインターフェイスを実装します』
とだけ記述されていました。
参考本AとBは2002年に発行・改訂されており、「extends Thread」の説明しか載っていませんでした。
参考本Cは2000年発行で改訂はされていません。
Q:この2つは使い分けのようなものがあるのでしょうか?
No.3ベストアンサー
- 回答日時:
#1さん答えの通り、Threadはクラスなので、
他のクラスを継承している場合使えません。
Runnableを使った場合、Threadにあるsleep()などの
メソッドを呼び出すのが多少面倒になります。
(Thread.currentThread()を使ってThreadを得る)
エレガントなのはRunnableの方。
便利なのはThreadの方と言えるでしょうか。
公式見解ではRunnableの方と言われています。
確かにRunnableの方はちょっと面倒だな。とは
思ってましたが、継承が関わっているという事までは
分かりませんでした。
有難うございました。
No.2
- 回答日時:
参考書というか、動くものをとりあえず作るだけならどちらでもいいのではないでしょうか。
それを超えて、ある程度の大きさのプログラムを作る際にどのように考えるべきかについてはいくつか議論がなされています。私はきちんと理解できていない(恥)ので、とりあえず下記URLに記録されている議論を読むことをお勧めします。(他にも市販書籍でちょっと見た覚えもありますが…)
http://java-house.jp/~takagi/archive/fj.comp.lan …
http://java-house.jp/ml/archive/j-h-b/017966.htm …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
googleスプレッドシートのGASに...
-
Googleログインボタンのデザイ...
-
正規表現について質問です。 カ...
-
jdbcでinsert,delete,createをe...
-
JDONWROADER2のエラー修復
-
Eclipse 動的プロジェクトで404...
-
プログラミングの問題です。大...
-
「main メソッドを持つクラスが...
-
Verilogについて質問です。この...
-
論理回路設計をVerilogで行う問...
-
JAの支部?地域の農協のカード...
-
eclipseで作ったプログラムを他...
-
スプレッドシートからリマイン...
-
googleスプレッドシートのスク...
-
ゲーム開発の入門書を探しています
-
session,requestはjspで未定義...
-
サーブレットをapacheで公開す...
-
下記のリストならno002が含まれ...
-
is this even a thing?
-
えハミルトン路と全域木のちが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミングの問題です。大...
-
JDONWROADER2のエラー修復
-
Googleログインボタンのデザイ...
-
正規表現について質問です。 カ...
-
「main メソッドを持つクラスが...
-
googleスプレッドシートのGASに...
-
配列にnullを代入すると、null...
-
jdbcでinsert,delete,createをe...
-
jdk17.06のインストーラーが起...
-
eclipseで作ったプログラムを他...
-
マイクラでPythonのプログラミ...
-
eclipse実行ができない
-
問題作成のWebアプリの作り方を...
-
Eclipse 動的プロジェクトで404...
-
直し方について教えて頂きたい...
-
次のhtml・cssでspan内の文字を...
-
Verilogについて質問です。この...
-
EclipseとVisual StudioをPC1台...
-
プログラムの単体テストで金額...
-
ゲーム開発の入門書を探しています
おすすめ情報