只今、数冊の本を読み、現在マルチスレッドの部分を
やっているのですが、
参考本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で質問しましょう!
似たような質問が見つかりました
- Java javaのクラスの分け方について質問です。 APIの内部用と外部用でクラスを分けたいのですがインター 2 2022/04/26 16:06
- 大学受験 参考書の勉強法について質問なのですが、参考書を一通り終わらせて、二周目を行う際、問題だけ解けば良いで 2 2023/06/30 20:19
- 高校 参考書に載っていませんか 0 2022/11/26 21:46
- 英語 参考書に載っていませんか 2 2022/11/26 21:48
- Excel(エクセル) 【マクロ】フォルダAからダBへファイルを、ファイルの更新日時の条件で、1つづつ移動するには? 3 2022/08/25 09:56
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- 大学受験 大学受験 辛い 英語 読めない こんにちは。 現在大学受験をしてる者です。 色々あり浪人なんですけど 11 2022/09/06 12:03
- DIY・エクステリア DIYでの外壁塗装工事 6 2022/09/08 13:08
- TOEFL・TOEIC・英語検定 2014年に購入した英文法書でTOIEC対策をしてもよいか? 1 2023/01/08 11:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列にnullを代入すると、null...
-
プログラミングの問題です。大...
-
問題作成のWebアプリの作り方を...
-
eclipseで作ったプログラムを他...
-
eclipse実行ができない
-
Processingでマウスクリックで...
-
JAの支部?地域の農協のカード...
-
正規表現について質問です。 カ...
-
下記問題の答えが"D"になる意味...
-
JaneStyleのスレッドが見れなく...
-
キー入力について
-
jdk17.06のインストーラーが起...
-
JSFタグのfタグとは
-
えハミルトン路と全域木のちが...
-
CSV出力を画面から選択したデー...
-
ショートカットキーについて
-
list の空は [] ってあわらすのに
-
あんまりお料理しないのに台所...
-
質問です。 配列が100以上の場...
-
次のhtml・cssでspan内の文字を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミングの問題です。大...
-
マイクラでPythonのプログラミ...
-
配列にnullを代入すると、null...
-
jdk17.06のインストーラーが起...
-
Eclipse 動的プロジェクトで404...
-
list の空は [] ってあわらすのに
-
下記問題の答えが"D"になる意味...
-
JaneStyleのスレッドが見れなく...
-
正規表現について質問です。 カ...
-
eclipseで作ったプログラムを他...
-
改行含むテキストの表示の仕方
-
リレーションエンティティクラ...
-
質問です。 配列が100以上の場...
-
次のhtml・cssでspan内の文字を...
-
キー入力について
-
自作Androidアプリのデータ引き...
-
問題作成のWebアプリの作り方を...
-
eclipse実行ができない
-
変数名とDBカラム名の関係性に...
-
デバッグツールの具体例を教え...
おすすめ情報