No.1ベストアンサー
- 回答日時:
現在のソースコードを提示していただけないと一般的な事しか回答のしようがありません。
再起処理は一般化すると以下のような流れとなるかと思います。
pvivate int HogeMethod(int param1,int param2){
・・・再起呼び出しの前置処理・・・
int subResult=this.HogeMathod(subParam1,subParam2);
・・・再起呼び出しの後続処理・・・
return result;
}
もしも前置処理の主要な処理より前にsubParam1及びsubParam2が算出可能、または、subResultが後続処理の主要な処理より後で使用されていれば、パラメータが算出可能になった直後にスレッドを立ち上げて、結果の使用直前でWateすればある程度並列化は可能になります。
ただし、DBアクセスやファイルアクセスを含み、結果の順序依存性がある場合はその限りではありません。
並列性を高めるなら以下の様な事を考慮するとよりでしょう。
・再帰構造のループ化
・結果の順序依存性の排除(1行目、2行目の順で出力されても2行目、1行目の順で出力されても結果として等価であるようにする)
・順序依存性の排除が困難であれば結果ソート及び出力処理の外部化
・ファイルアクセスなどスレッドセーフ考慮が必要な処理の外部化
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- その他(プログラミング・Web制作) Pythonで複数のメソッドをまとめて管理する方法について 1 2023/03/30 00:01
- その他(プログラミング・Web制作) 十進BASICでの再帰についての質問です。 2 2022/11/18 09:17
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 15:14
- その他(悩み相談・人生相談) 今日、ファストフード店で割り込みをしてしまいました。 まずショッピングモールに遊びにきて、お昼を食べ 4 2022/09/07 15:34
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
- Visual Basic(VBA) vbaエクセルマクロについて RemoveDuplicatesを使わずに、重複行を削除すらマクロを作 3 2023/03/02 22:03
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
tryの終了
-
Java
-
JavaScriptからJAVAクラスを呼...
-
doGetとdoPostの違い
-
javascriptの繰り返し処理が終...
-
ユーザー名とテキストフィール...
-
ServletからJSPに遷移させた後...
-
java(swing)で、登録ボタンを押...
-
ブラウザを閉じた後のサーバ側...
-
Javaの再帰でメソッド呼び出す...
-
flush()メソッドについて・・・
-
数値の定数を付ける時
-
スレッド1とスレッド2を交互に...
-
「UIスレッド」「マルチスレッ...
-
データ未入力時のエラー処理が...
-
処理実行後、終了させないで最...
-
Javaでのデバッグコード削除
-
PHPでDB処理中にプログレスバー...
-
バッチ処理をJavaで
-
重たい処理のタイムアウト強制終了
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
tryの終了
-
doGetとdoPostの違い
-
Javaプログラムからポップアッ...
-
SwingUtilities.invokeLater(ne...
-
Javaでのデバッグコード削除
-
Tomcat高負荷時の設定について
-
JavaScriptからJAVAクラスを呼...
-
データ未入力時のエラー処理が...
-
アコーディオンメニューをアン...
-
ブラウザを閉じた後のサーバ側...
-
[Java] while(true)の意味
-
数値の定数を付ける時
-
Javaアプリケーション実行の返...
-
ラジオボタンの選択判定
-
onBlurとonFocusの処理順序につ...
-
スレッド1とスレッド2を交互に...
-
WPF C#でF10のイベント取得方法...
-
flush()メソッドについて・・・
-
ExcelVBA で文字列の特定の文字...
-
無限ループをわざと作って時計...
おすすめ情報